三目/三元/条件运算符
三目条件运算符,也称为条件运算符或三元运算符,是一种在编程中常用的简单条件判断工具。这个运算符由三个操作数组成,因此被称为“三目”。它的基本形式如下:
-
公式: 表达式 ? 表达式1 : 表达式2
-
含义:
当表达式的结果为 true 的时候,则执行表达式1
当表达式的结果为 false 的时候,则执行表达式2
条件:即公式问号(?)左边的表达式,这是一个布尔表达式,它必须返回一个真值(true)或假值(false);
表达式1:如果条件为真 (true),则执行并返回此表达式的值。
表达式2:如果条件为假 (false),则执行并返回此表达式的值。注:表达式1和表达式2的结果类型需要一致
以下是使用三目条件运算符的一些示例[5]:
示例 1:简单的数字比较
int a = 200;
int b = 150;
String result = a > b ? "小故重" : "小屿重";
// 打印:200
System.out.println(result);
示例 2:字符串比较
String str1 = "gu";
String str2 = "yu";
String greeting = (str1.equals(str2)) ? "Both strings are equal" : "Strings are not equal";
// 打印:Strings are not equal
System.out.println(greeting);
- 如上示例中,str1 和 str2 分别被初始化为字符串 “gu” 和 “yu”。接着,使用三目条件运算符(也叫做三元运算符)来检查这两个字符串是否相等。由于 “gu” 并不等于 “yu”,所以条件 str1.equals(str2) 的结果为 false。
- 因此,表达式 (str1.equals(str2)) ? “Both strings are equal” : “Strings are not equal” 的结果是 “Strings are not equal”,因为当条件为 false 时,会执行冒号(:)后面的表达式。
示例 3:在赋值中使用
int score = 85;
String grade = (score >= 90) ? "A" :
(score >= 80) ? "B" :
(score >= 70) ? "C" :
(score >= 60) ? "D" : "F";
// 打印:Grade: B
System.out.println("Grade: " + grade);
示例 4:在方法调用中使用
public static String getGreeting(boolean isMorning) {
return isMorning ? "Good morning!" : "Good afternoon!";
}
public static void main(String[] args) {
boolean isMorning = true;
// 打印:Good morning!
System.out.println(getGreeting(isMorning));
}
巩固示例
package guyu.day0903;
/**
* @Author: guyu
* @Date: 2020/9/3 10:59
*/
public class Demo01 {
public static void main(String[] args) {
/**
* 三目条件运算符其语法: x ? y : z
* 其中 x 为 boolean 类型表达式,先计算 x 的值,
* 若为true,则整个三目运算的结果为表达式 y 的值,
* 否则整个运算结果为表达式 z 的值。
*/
int a , b;
a = 10;
// 如果 a 等于 1 成立,则设置 b 为20,否则为30
b = (a == 1) ? 20 : 30;
// 输出:b = 30
System.out.println("b = " + b);
// 如果 a 等于 10 成立,则设置 b 为20,否则为30
b = (a == 10) ? 20 : 30;
// 输出:b = 20
System.out.println("b = " + b);
}
}
如上示例 [5] 都展示了三目条件运算符在不同场景中的用法。它提供了一种简洁的方式来执行简单的条件判断,并返回相应的值。在 Java 中使用其它运算符详情见:Java 运算符
Note:
欢迎转载,请在文章页面明显位置给出原文链接,否则保留追究法律责任的权利;
最后,感谢您在茫茫人海中阅读了我的文章。
没有个性 哪来的签名!
详情请关注点我
持续更新中