Java中的问号与冒号 ? : 表达式
一、简单使用
package com.test.boke;
public class TestJava {
public static void main(String[] args) {
Integer integer = null;
int num = integer == null ? 0 : integer;
System.out.println("第一个num = " + num);
integer = 10;
num = integer == null ? 0 : integer;
System.out.println("第二个num = " + num);
num = integer == null ? 0 : integer + 1;
System.out.println("第三个num = " + num);
}
}
运行结果:
第一个num = 0
第二个num = 10
第三个num = 11
二、详解:
integer == null ? 0 : integer ,简写:A ? B:C
此部分代码可以分为A、B、C三部分
A部分:布尔表达式(真/假)
B 和C部分:执行语句。
含义:如果A为真,则执行B,否则执行C
三、延伸
2==0 ? 1+1 : 2-2;
A部分2等于0如果成立,则执行B部分的1+1,如果不成立,则执行C部分的2-2.
还没有评论,来说两句吧...