决定操作员的操作顺序时,我很困惑以下两个说法。确定操作员的操作顺序
- 声明将从左到右执行。
- 它将根据运营商的优先顺序执行。
下面的代码从左至右执行向右
int i=5;
boolean b = i<5 && ++i<5;//line2
System.out.println(i);//prints 5
//left to right execution in line2.
//< is executed and ++ is not.Even though ++ has higher precedence.
但下面这段代码似乎遵循优先顺序:
int a=1,b=1,c=1;
boolean b = a==b&&b==c;//line2: (a==b)&&(b==c)
/* In line2 code would not run from left to right.
First a==b is evaluated then b==c and then && operator.*/
我也问过部分这个问题here但我以前不得到很好的足够的解释。 有人可以澄清?
子结果从左到右进行评估。我相信这是你对上一个问题的回应 –