逻辑与(&)和短路与(&&)的关系


逻辑与(&)和短路与(&&)在运算上对条件的结果判断不会产生影响,但会对条件判断的运算有影响.
关键在于,逻辑与(&)在运算时会连续运算所有需要判断的命令.但短路与当遇到false时就会停止运算
比如:
1 public class Test{ 2   public static void main (String args[]){ 3     int i=5; 4     boolean e=i>4&&i++>7; 5     System.out.println(e); 6     System.out.println(i); 7   } 8 }

以上的程序会输出:

false
6
因为&&前面的(i>4)的值是true,所以需要继续运算后面的i++. 
但若像下面这样:
1 public class Test{ 2     public static void main (String args[]){ 3         int i=5; 4         boolean e=i>6&&i++>7; 5  System.out.println(e); 6  System.out.println(i); 7  } 8 } 

就会输出:

false
5
因为&&前面的i>6的值是false.所以判断到这里就会中止运算,即i++不会被执行.被"短路"了.叫做短路与 .

逻辑或(||)同以上同理 .


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM