会
逻辑与(&)和短路与(&&)在运算上对条件的结果判断不会产生影响,但会对条件判断的运算有影响.
关键在于,逻辑与(&)在运算时会连续运算所有需要判断的命令.但短路与当遇到false时就会停止运算
比如:
public class Test{ public static void main (String args[]){ int i=5; boolean e=i>4&&i++>7; System.out.println(e); System.out.println(i); } }
以上的程序会输出:
false
6
因为&&前面的(i>4)的值是true,所以需要继续运算后面的i++.
但若像下面这样:
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
5