源程序为以下:
public class test02 {
public static void main(String args[])
{
int a=1,b=2,c=3,d=4;
int y;
y=a<b?c:d>a?b:c;
System.out.println(y);
}
}
运算结果为:3
其实这个表达式可以理解为(a<b)?(c):((d>a)?b:c),a<b和d>a分别为判断的条件,a<b是整个表达式的判断条件,表达式为c和d>a?b:c两个,因为1<2,所以整个表达式的结果是3.这类问题一般考的是运算符优先级问题,这个只要读者记住一些常见的算术符号优先级就好。