Java 三元运算符

?运算符是三元运算符。

Java三元运算符基本上是简单的if语句的简写形式。

语法

具有以下一般形式:

expression1 ? expression2 : expression3

expression1 可以是计算为 boolean 值的任何表达式。如果 expression1  true ,那么将评估 expression2 。否则,将评估 expression3 

计算的表达式是操作的结果。需要 expression2  expression3 来返回相同的类型,这可以是无效的。

下面是运算符的示例:

public class Main {
  public static void main(String[] argv) {
    int denom = 10;
    int num = 4;
    double ratio;

    ratio = denom == 0 ? 0 : num / denom;
    System.out.println("ratio = " + ratio);
  }
}

输出:

例子

这是另一个演示运算符的程序。它使用它来获取变量的绝对值。

 
public class Main {
  public static void main(String args[]) {
    int i, k;
    i = 10;
    k = i < 0 ? -i : i; 
    System.out.print("Absolute value of ");
    System.out.println(i + " is " + k);

    i = -10;
    k = i < 0 ? -i : i; 
    System.out.print("Absolute value of ");
    System.out.println(i + " is " + k);

  }

 

程序生成的输出如下所示:

Java三元运算符是一种简单而强大的工具,用于根据条件选择两个可能的值。其基本格式为:`关系表达式 ? 表达式1 : 表达式2`,整个三元运算符的结果必须被使用。当关系表达式的结果为`true`时,返回表达式1的值;当关系表达式的结果为`false`时,返回表达式2的值。 以下是一些使用示例: - **比较两个数的大小并获取较大值**: ```java public class TernaryOperatorExample1 { public static void main(String[] args) { int a = 10; int b = 20; int max = a > b ? a : b; System.out.println("The maximum value between a and b is: " + max); } } ``` 此示例中,通过三元运算符判断`a > b`是否成立,若成立则`max`为`a`的值,否则为`b`的值,最终输出较大值[^4][^5]。 - **根据条件打印不同消息**: ```java public class TernaryOperatorExample2 { public static void main(String[] args) { boolean isRaining = false; String message = isRaining ? "Take an umbrella!" : "No need for an umbrella."; System.out.println(message); } } ``` 这里根据`isRaining`的值,使用三元运算符选择输出不同的消息[^4]。 - **嵌套使用三元运算符**: ```java public class TernaryOperatorExample3 { public static void main(String[] args) { int score = 75; String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : (score >= 60) ? "D" : "F"; System.out.println("Grade: " + grade); } } ``` 根据`score`的值,通过嵌套的三元运算符来确定对应的成绩等级。不过通常不推荐嵌套使用,因为会降低代码的可读性[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Obito_TXP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值