本文仅供学习参考!
相关教程地址:
http://c.biancheng.net/view/792.html
https://www.cnblogs.com/bmbm/archive/2012/01/16/2342239.html
在软件开发中,运算符处理表达式中的一个或多个操作数。Java 编程语言支持以下类型的运算符:
- 算术运算符
- 一元运算符
- 赋值运算符
- 关系运算符
- 逻辑运算符
- 三元运算符
- 按位运算符
- 班次操作员
- 比较运算符
三元运算符可用于替换应用程序中的if…else或switch…case语句,以使代码易于理解和维护。本编程教程讨论条件运算符以及如何在 Java 中使用它们。
Java 中的条件运算符有哪些类型?
Java 中的条件运算符分为三种类型。这些包括:
- 条件与
- 条件或
- 三元运算符
请参考以下 Java 代码示例:
int x;
if (y > 0) {
x = 1;
} else {
x = 0;
}
可以使用条件运算符编写相同的代码,如下所示:
int x = (y > 0) ?1:0;
Java 中的条件 AND 运算符
如果开发人员想要检查两个条件是否同时成立,他们可以使用 Java 的条件AND运算符。该运算符由两个与号**( && )**表示。
下面是一些示例代码,展示了如何在 Java 中使用条件AND运算符:
if (condition1 && condition2) {
// do something
}
如果条件 1和条件 2 的计算结果都为true ,则将执行if块内的代码。相反,如果条件 1或条件 2的计算结果为false,则if语句内编写的代码根本不会执行。
以下代码示例使用带有条件AND运算符的if语句,在满足两个条件时打印消息:
if(x == 10 && y > 10) {
System.out.println("x is equal to ten and y is greater than ten.");
}
Java 中的条件 OR 运算符
如果任何操作数为true , Java 中的条件OR运算符 ( || ) 将返回true。如果两个操作数的计算结果均为false,则返回false。
以下使用OR运算符的 Java 代码示例将在控制台窗口中打印“true”:
public class Main {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
if (a || b)
{
System.out.println("true");
}
else
{
System.out.println("false");
}
}
}
同样,以下代码将在控制台窗口打印“true”:
public class Main {
public static void main(String[] args) {
boolean a = false;
boolean b = true;
if (a || b)
{
System.out.println("true");
}
}
}
Java中的三元运算符
三元运算符是一种条件运算符,可用于 Java 中的短路求值。它接受三个操作数,其中包括布尔条件、指定条件为true时应执行的表达式以及条件为false时应执行的第二个表达式。
在 Java 中,三元运算符是if-else语句的一种单行替代方案。您可以使用三元运算符和嵌套三元运算符来替换if-else语句。
Java中三元运算符的语法为:
(condition) ? (return if true) : (return if false);
条件必须是布尔表达式。如果条件为true,则将执行action1 。如果条件为false ,则将执行action2。
以下是如何在 Java 中使用三元运算符的示例:
int x = 10; int y = 20; int z;
z = (x < y) ? x : y; // z将被赋予x的值,因为x小于y
在此代码示例中,如果条件**(x < y)为true**,则z将被赋予x的值。如果条件**(x < y)为false**,则z将被赋予y的值。
这是 Java 中三元运算符的另一个示例:
public class Main {
public static void main(String[] args) {
int x = 5, y = 10, max;
System.out.println("The value of x is: " + x);
System.out.println("The value of y is: " + y);
max = (x > y) ? x : y;
System.out.println("The max of x and y is: " + max);
}
}
请注意,程序员在 Java 中使用三元运算符编写的任何代码也可以使用if…else语句编写。然而,通过使用三元运算符,开发人员可以提高代码的可读性。
Java中的短路评估
在java中,可以使用**&&和||对两个布尔表达式执行条件AND和条件OR运算** 运营商。请注意,这些运算符可能会表现出“短路”行为,这意味着仅在必要时评估第二个操作数。
条件运算符计算布尔条件,然后短路计算相应地执行true或false表达式。该运算符通常用作if-else语句的替代。您可以使用它来使您的源代码更具可读性、可维护性和简洁性。
以下是Java 中if…else构造的语法:
if(condition) statement;
or
if (condition) statement1;
else statement2;
例如,考虑以下if-else语句:
if (x > y)
{
max = x;
}
else
{
max = y;
}
该语句可以使用条件运算符重写如下:
max = (x > y) ? x : y;
END
开发人员可以使用条件AND运算符来确定两个操作数是否为true,并使用条件OR运算符来确定两个操作数中的任何一个是否为true。如果您使用条件AND运算符,则当两个操作数都为true时,表达式的结果值为true。
如果您使用条件OR运算符,则当任一操作数为true时,表达式的结果值为true。条件AND运算符由**&&表示,条件OR运算符由||**表示 。
尽管三元运算符简单明了,但它可能会吓到没有经验的开发人员。使用嵌套三元运算符可能会令人困惑。在 Java 三元运算符和if…else表达式之间进行选择时,为了简单起见,我们建议使用后者。