三元运算符 —— (判断语句)?语句1:语句2
-
个人分析
可以把整个语句拆分成两部分来看。
第一部分可以看括号内的内容。咱们可以把括号当成是if语句没有了if这个关键字。它的作用是给出boolean值。
第二部分则是?号之后的部分。如果前面括号部分给出的boolean值是true的话,执行语句1;如果前面括号部分给出的boolean值是false的话,执行语句2。
-
例子:
public class test { public static void main(String[] args) { int a = 1; int b = 2; String str = (a > b) ? "a比b大" : "b比a大"; System.out.println(str); } }结果:
b比a大
我们可以直接给出boolean值
例子:
public class test { public static void main(String[] args) { String str = (false) ? "a比b大" : "b比a大"; System.out.println(str); } }结果:
b比a大
如果两个执行语句的类型不同,我们可以用 Object 变量来接受,如果需要后续步骤需要对 Object 变量进行类型变化。(一般都不会这么做,我就提一嘴,让自己知道而已)
例子:
public class test { public static void main(String[] args) { Object obj = (1 > 2) ? "1比2大" : 2; System.out.println(obj); } }结果:
2
总结
- 如果条件允许,经量写三元运算符,比较简洁。
- 一般会有一个变量来接受三元运算符的结果。
- 两个执行语句和接受变量的类型一般来说是一致的,但不排除用 Object 类型来接收。