java逻辑运算符

返回类型为布尔值的表达式,如比较运算符,可以被组合在一起构成一个更复杂的表达式。这是通过逻辑运算符来实现的。逻辑运算符包括& (&&) (逻辑与)、|| (逻辑或)、! (逻辑非)。逻辑运算符的操作元必须是boolean型数据。在逻辑运算符中,除了“!”是一元运算符之外,其他都是二元运算符。下表给出了逻辑运算符的用法和含义。

运算符含义用法结合方向
&、&&逻辑与op1&&op2从左到右
||逻辑或op1||op2从左到右
!逻辑非!op从右到左

结果为boolean型的变量或表达式可以通过逻辑运算符组合为逻辑表达式。用逻辑运算符进行逻辑运算时,结果如表所示。

表达式1表达式2表达式1&&表达式2表达式1||表达式2!表达式1
truetruetruetruefalse
truefalsefalsetruefalse
falsefalsefalsefalsetrue
falsetruefalsetruetrue

逻辑运算符“&&”与“&”都表示“逻辑与”,那么它们之间的区别在哪里呢?从表中可以看出,当两个表达式都为true时,“逻辑与”的结果才会是true。使用逻辑运算符“&”会判断两个表达式:而逻辑运算符“&&”则是针对boolean类型的类进行判断,当第一个表达式为false 时则不去判断第二个表达式,直接输出结果从而节省计算机判断的次数。通常将这种在逻辑表达式中从左端的表达式可推断出整个表达式的值称为“短路”,而那些始终执行逻辑运算符两边的表达式称为“非短路”。“&&”属于“短路”运算符,而“&”则属于“非短路”运算符。

[例子]在项目中创建类Calculation,在主方法中创建整型变量,使用逻辑运算符对变量进行运算,并将运算结果输出。

public class Calculation { // 创建类
	public static void main(String[] args) {
		int a = 2; // 声明int型变量a
		int b = 5; // 声明int型变量b
		// 声明布尔型变量,用于保存应用逻辑运算符“&&”后的返回值
		boolean result = ((a > b) && (a != b));
		// 声明布尔型变量,用于保存应用逻辑运算符“||”后的返回值
		boolean result2 = ((a > b) || (a != b));
		System.out.println(result); // 将变量result输出
		System.out.println(result2); // 将变量result2输出
	}
}
实例
实例

发表评论