欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

&&运算符和||运算符的优先级问题 博客分类: Java 虚拟机JDK单元测试JVMGoogle 

程序员文章站 2024-02-16 15:28:22
...
今天闲着没事`
写了一个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

难道是&&与||的优先级出了问题?

盼望各位高手加以解释一下~`