区别一:

定义不同:

|| 和 | 都是表示“或”,区别是||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。

区别二:

与操作和或操作的区别

(1)在Java程序中,使用与操作,要求所有表达式的判断结果都是TRUE,才为真,若有一个为FALSE,那么最终判断结果则为FALSE

(2)使用或操作,只要其中有一个表达式为TRUE,那么最终的结果就为TRUE,只有当所有的表达式为FALSE时最终结果才为FALSE

区别三:

实际含义不同:

“||”: 如果左边计算后的操作数为true,右边则不再执行,返回true;

“|”:前后两个操作数都会进行计算。也就是说:“|”不存在短路。

区别四:

举例说明

1、当使用 | 时,若前面的表达式为真时,程序会继续执行后面的表达式,然后在得出TRUE的结果,代码如下:

public class Test{
	public static void main(String[] args){
		int i = 0;
		if(10==10 | (i++)!=0){
			System.out.printIn("结果为真 "+i);
		}
	}
}

结果如下:结果为真 1

2、当使用 ||(短路或)时,若前面的表达式结果为真,则程序不会再执行后面的表达式,直接得出TRUE的结果,代码如下:

public class Test{
	public static void main(String[] args){
		int i = 0;
		if(10==10 || (i++)!=0){
			System.out.printIn("结果为真 "+i);
		}
	}
}

结果如下:结果为假 0

同理
&&是逻辑与(短路与),当第一个判断条件不满足要求时(返回false),第二个判断条件就不会执行;只有当两个判断条件都返回true时,整个逻辑运算才返回true。
&按位与,不论什么情况下,两边的判断条件都会执行,当两边都返回true时,按位与才返回true。

位运算符号详解

来源:Java中的位运算符号详解(&、|、^、~、<<、>>、>>>)
在这里插入图片描述

按位与(&)、逻辑与(&&)

在这里插入图片描述

按位或(|)、逻辑或(||)

在这里插入图片描述

异或(^)

在这里插入图片描述

取反(~)

在这里插入图片描述

左移(<<)

在这里插入图片描述

带符号右移(>>)、无符号右移(>>>)

在这里插入图片描述

Java中没有(<<<)符号!!!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐