Java表达式y=a<b?c:d>a?b:c的运算解释

来源:互联网 发布:python 时间序列处理 编辑:程序博客网 时间:2024/04/28 15:06

源程序为以下:

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.这类问题一般考的是运算符优先级问题,这个只要读者记住一些常见的算术符号优先级就好。

原创粉丝点击