&&和&,||和|的区别
逻辑运算符&& 和 & 都表示且, || 和 | 都表示或,单拼和双拼的区别在于:是否会对后续操作进行短路。
对于‘且’操作,有全真则真,一假则假的判断规则。 在使用&&时,一旦判断出前一个表达式为假,程序会像我们做数学题一样,立刻终止判断,短路后面的表达式;但在使用&时,程序还会继续执行第二个表达式
下面两段代码分别对&&和&进行了测试,执行后会发现,在使用&&时,i最终等于1;在使用&时,i最终等于2。 || 与 | 的关系也是同理。
1 int i=1; 2 if(i == 2 && i++ == 2){ } 3 System.out.println(i); 4 5 /*int i=1; 6 if(i == 2 & i++ == 2){ } 7 System.out.println(i); */