例子:int result = logicalValue? value1 : value2;
格式:结果值 ? 数值1 : 数值2
说明:如果结果值为true,则将数值1分配给结果变量,否则将数值2分配给结果变量。
1. 得到两个数中的最大数
int a = 11;
int b = 27;
//获取两个数中的最大值
int max = a > b ? a : b;
System.out.print("最大值:" + max);//输出为:最大值:27
2. 比较两数大小,得到 '大于'、'不大于'的返回
int a = 16;
String b = "";
//如果a>30,b的值为'大于',否则a<30的话,b的值为'不大于'
String str = a > 30 ? (b = "大于") : (b = "不大于");
System.out.println(a + str + "20");//输出为:16不大于20
3. 集合为空返回集合大小为0,集合不空返回集合大小
ArrayList<String> list = new ArrayList<>();
for (int i = 0; i < 5; i++) {
list.add(String.valueOf(i + 1));
}
System.out.println("list: " + list);
list = null;
int size = list == null ? 0 : list.size();
System.out.println("list.size: " + size);