2.5.4 三元运算符
Java提供了一个三元运算符,也叫条件运算符,可以同时操作三个操作数。三元运算符语法格式如下所示:
判断条件 ? 表达式1 : 表达式2
在上述语法格式中,当判断条件为 true 时,计算表达式1的值作为整个表达式的结果,否则计算表达式2的值作为整个表达式的结果。
例:
int a=22,b=33;
int c=a>b?a:b;
System.out.println(c);
这个代码中的 a>b?a:b,计算机会先算 a>b 是否为真,如果为真,就将 a 的值赋给 c ,否则就将 b 的值赋给 c,总之就是取 a 与 b 中较大的那个值给 c 。
注意:
- 条件运算符“?”和“:”是一对运算符,不能分开单独使用。
- 条件运算符可以进行嵌套,结合方向自右向左。例如,a>b?a:c>d?c:d应该理解为a>b?a:(c>d?c:d),这也是条件运算符的嵌套情形,即三元表达式中的表达式2又是一个三元表达式。