三目运算

三目运算

三目运算符也叫条件运算符,是 Java 中唯一需要三个操作数的运算符。

格式结构

boolean表达式 ? 表达式1 : 表达式2

执行规则

  1. 先计算 boolean表达式 的值,结果要么为 true,要么为 false
  2. 如果 boolean表达式 的值为 true,整个表达式的值就是 表达式1​ 的值
  3. 如果 boolean表达式 的值为 false,整个表达式的值就是 表达式2​ 的值

基本示例

int a = 100, b = 200;
int f = a > b ? 1 : 2; // a > b 为 false,所以 f 的值为 2Code language: JavaScript (javascript)

嵌套使用

三目运算符可以嵌套,即表达式1或表达式2本身又是一个三目运算。常用于多条件判断:

public static void main(String[] args) {
    // 比较两个值中的最大值
    // int a = 432, b = 343;
    // int max = a > b ? a : b;
    // System.out.println("最大值是:" + max);

    // 判断一个数是正数、负数还是 0
    System.out.println("请输入一个整数:");
    int input = new Scanner(System.in).nextInt();
    System.out.println(input > 0 ? "正数" : (input < 0 ? "负数" : "0"));
}Code language: JavaScript (javascript)

总结

场景写法示例
取两值中较大者int max = a > b ? a : b;
判断奇偶数String r = n % 2 == 0 ? "偶数" : "奇数";
多条件嵌套input > 0 ? "正数" : (input < 0 ? "负数" : "0")

注意:三目运算符虽然有 ? 和 : 两个符号,但整体是一个运算符,会返回一个值。表达式1和表达式2的返回值类型必须兼容(可以统一转换为同一类型)。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注