class Demo{
public static void main(String[] args){
int a=3,b=8;
int c=(a>b)?a++:b++;
System.out.println("a="+a+"\tb="+b+"\tc="+c); //这里a<b,先执行c=b,然后在执行b++因此
a=3 b=9 c=8
int d=(a>b)?++a:++b;
System.out.println("a="+a+"\tb="+b+"\td="+d); //
这里a<b,++在b的前面因此先执行一次b++后再输出b
a=3 b=10 d=10
int e=(a<b)?a++:b++;
System.out.println("a="+a+"\tb="+b+"\te="+e); //
后面也是一样的 a<b成立,先e=a 再对a++
注意b的数值在前面已经变化了
a=4 b=10 e=3
int f=(a<b)?++a:++b;
System.out.println("a="+a+"\tb="+b+"\tf="+f); //这里a<b成立因此先对a++,在执行f=a
因此a=5 b=10 f=5
}}
Java中的三元运算符详解
本文通过实例解析了Java中的三元运算符使用,包括(a>b)?a++:b++和(a<b)?++a:++b等不同情况的执行顺序和结果。详细解释了每个表达式中变量的变化过程,帮助理解条件运算符的工作原理。

被折叠的 条评论
为什么被折叠?



