java逻辑运算符实例

作者 : 慕源网 本文共2647个字,预计阅读时间需要7分钟 发布时间: 2022-06-8 共57人阅读

java逻辑运算符实例,这些运算符用于执行逻辑“与”、“或”和“非”运算,即类似于数字电子学中的与门和或门的功能。它们用于组合两个或多个条件/约束或补充在特定考虑下对原始条件的评估。要记住的一件事是,如果第一个条件为假,则不会评估第二个条件,即它具有短路效应。广泛用于测试做出决定的几个条件。让我们详细了解每个逻辑运算符:

1.“逻辑与”运算符(&&):

当考虑的两个条件都满足或为真时,此运算符返回真。如果两者之一产生假,则运算符的结果为假。例如,当 cond1 和 cond2 都为真(即非零)时, cond1 && cond2 返回真。

语法:

condition1 && condition2
a = 10, b = 20, c = 20

condition1: a < b
condition2: b == c

if(condition1 && condition2)
d = a+b+c

// Since both the conditions are true
d = 50.

例子

// Java code to illustrate
// logical AND operator

import java.io.*;

class Logical {
	public static void main(String[] args)
	{
		// initializing variables
		int a = 10, b = 20, c = 20, d = 0;

		// Displaying a, b, c
		System.out.println("Var1 = " + a);
		System.out.println("Var2 = " + b);
		System.out.println("Var3 = " + c);

		// using logical AND to verify
		// two constraints
		if ((a < b) && (b == c)) {
			d = a + b + c;
			System.out.println("The sum is: " + d);
		}
		else
			System.out.println("False conditions");
	}
}

输出:

Var1 = 10
Var2 = 20
Var3 = 20
The sum is: 50

现在在下面的例子中,我们可以看到短路效应。这里当执行到 if 语句时,if 语句中的第一个条件为假,因此永远不会检查第二个条件。因此 ++b(b 的预增量)永远不会发生并且 b 保持不变。

例子:

/*package whatever //do not write package name here */

import java.io.*;

class shortCircuiting {
	public static void main (String[] args) {
	
	// initializing variables
		int a=10,b=20,c=15;

		// displaying b
		System.out.println("Value of b : "+b);

		// Using logical AND
		// Short-Circuiting effect as the first condition is false so the second condition is never reached and
		// so ++b(pre increment) doesn't take place and value of b remains unchanged
		if((a>c) && (++b>c)){
			System.out.println("Inside if block");
		}

		// displaying b
		System.out.println("Value of b : "+b);
	
	
	}
}

输出:

java逻辑运算符实例

2.’逻辑或’运算符(||):

当考虑的两个条件之一满足或为真时,此运算符返回真。如果两者中的任何一个都为真,则运算符的结果为真。要使结果为假,两个约束都需要返回假。

语法:

condition1 || condition2

例子:

a = 10, b = 20, c = 20

condition1: a < b
condition2: b > c

if(condition1 || condition2)
d = a+b+c

// Since one of the condition is true
d = 50.
// Java code to illustrate
// logical OR operator

import java.io.*;

class Logical {
	public static void main(String[] args)
	{
		// initializing variables
		int a = 10, b = 1, c = 10, d = 30;

		// Displaying a, b, c
		System.out.println("Var1 = " + a);
		System.out.println("Var2 = " + b);
		System.out.println("Var3 = " + c);
		System.out.println("Var4 = " + d);

		// using logical OR to verify
		// two constraints
		if (a > b || c == d)
			System.out.println("One or both"
							+ " the conditions are true");
		else
			System.out.println("Both the"
							+ " conditions are false");
	}
}

输出:

Var1 = 10
Var2 = 1
Var3 = 10
Var4 = 30
One or both the conditions are true

3.“逻辑非”运算符(!):

与前两个不同,这是一个一元运算符,当考虑的条件不满足或为假条件时返回真。基本上,如果条件为假,则操作返回真,当条件为真时,操作返回假。

语法:

!(condition)

例子:

a = 10, b = 20

!(a<b) // returns false
!(a>b) // returns true
// Java code to illustrate
// logical NOT operator
import java.io.*;

class Logical {
	public static void main(String[] args)
	{
		// initializing variables
		int a = 10, b = 1;

		// Displaying a, b, c
		System.out.println("Var1 = " + a);
		System.out.println("Var2 = " + b);

		// Using logical NOT operator
		System.out.println("!(a < b) = " + !(a < b));
		System.out.println("!(a > b) = " + !(a > b));
	}
}

输出:

Var1 = 10
Var2 = 1
!(a < b) = true
!(a > b) = false

慕源网 » java逻辑运算符实例

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录