@java中遇到了下面这种三元运算,没有找到答案,现在复盘下, a=b==c?d:e
代码如下
public class Test {
public static void main(String[] args) {
Integer a=1;
Integer b=2;
Integer c=3;
a = b != c ? 4 : 5;
System.out.println("a---------"+a);
}
}
代码执行结果1如下:
a---------4
public static void main(String[] args) {
Integer a=1;
Integer b=2;
Integer c=2;//改变c 原本为c=3的值,查看结果a 是否发生改变
a = b != c ? 4 : 5;
System.out.println("a---------"+a);
代码执行结果2如下:
a---------5
}
结果分析
a = b != c 这一段代码,
比较的其实是 b !=c是不是true 或者 false ,
第一段代码:
b=2,c=3 所以b!=c ,结果为true 输出为 4.
第二段代码进行校验结果如下:
b=2,c=2 所以,b!=c ,结果为false ,输出结果为5