&和&&的区别是,&会执行两边,不管第一个是否成立
&&只会执行一边,如果第一个条件为假,则不会走第二个条件
举例
public class Test2{
public static void main(String[] args){
int i=3;
if((i++>5)&(i++<9)){
System.out.println(i);
System.out.println("恭喜,执行完了条件语句!");
}
System.out.println(i);
}
}
结果是i=5
public class Test2{
public static void main(String[] args){
int i=3;
if((i++>5)&&(i++<9)){
System.out.println(i);
System.out.println("恭喜,执行完了条件语句!");
}
System.out.println(i);
}
}
结果是i = 4
||和|都是表示“或”,区别是||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。
注意当他们进行运算的时候,&表示两个数先都变成二进制,然后两个数都是1才为1,其他为0
|表示两个数只要有一个为1,就是1,其他都是0
例如:
int a = 2;
int b = 3;
boolean flag1 = ++a > 1 | --b < 5;
System.out.println(flag1);
System.out.println(a);
System.out.println(b);
结果:flat=true a=3 b=2
如果替换为||,则结果为:flat=true a=3 b=3

本文详细解析了Java中逻辑运算符&、&&、|、||的使用及区别,通过具体示例说明了短路运算符&&和||的工作原理,并对比了它们与普通逻辑运算符&和|的行为差异。
1486

被折叠的 条评论
为什么被折叠?



