今天闲着没事`
写了一个java文件测试&&和||的优先级
代码如下
代码的输出结果为:
1
true
本来&&的优先级要高于||
那么在这段代码中计算flag的值时
应该先计算后面的check(2)&&check(3)&&check(4)的值~`
输的内容就应该先输出check(2),check(3)或check(4)中的一个`
可是事实并不是这样``
代码仍然是从前向后执行~`先输出的值是 1
感觉好像||的优先级高于&&
但是我把将第一个||替换为&&,最后一个&&替换为||
它的执行结果仍然是先输出1
难道是&&与||的优先级出了问题?
盼望各位高手加以解释一下~`
写了一个java文件测试&&和||的优先级
代码如下
public class Test
{
public static void main(String [] args){
boolean flag=(check(1)||check(2)&&check(3)&&check(4));
System.out.println(flag);
}
public static boolean check(int value){
System.out.println(value);
if(value==1){
return true;
}else if(value==2){
return true;
}else if(value==3){
return true;
}else if(value==4){
return true;
}
}
}
代码的输出结果为:
1
true
本来&&的优先级要高于||
那么在这段代码中计算flag的值时
应该先计算后面的check(2)&&check(3)&&check(4)的值~`
输的内容就应该先输出check(2),check(3)或check(4)中的一个`
可是事实并不是这样``
代码仍然是从前向后执行~`先输出的值是 1
感觉好像||的优先级高于&&
但是我把将第一个||替换为&&,最后一个&&替换为||
它的执行结果仍然是先输出1
难道是&&与||的优先级出了问题?
盼望各位高手加以解释一下~`