码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-07-28 22:43:23      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

逻辑与(&)和短路与(&&)在运算上对条件的结果判断不会产生影响,但会对条件判断的运算有影响.
关键在于,逻辑与(&)在运算时会连续运算所有需要判断的命令.但短路与当遇到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++不会被执行.被"短路"了.叫做短路与 .

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

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

标签:

原文地址:http://www.cnblogs.com/livterjava/p/4684465.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!