计算下列的表达式
public static void main(String[] args) {
int i = 5;
int j = i+++i+++i++;
System.out.println(j);
int k = 0;
int o = ++k+k<<2+ ++k+k+1;
System.out.println(o);
}
"C:\Program Files\Java\jdk1.8.0_144\bin\java.exe" "-javaagent:D:\IntelliJ IDEA\IntelliJ IDEA 2018.2.4\lib\idea_rt.jar=57245:D:\IntelliJ IDEA\IntelliJ IDEA 2018.2.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_144\jre\lib\charsets.jar;C:\Program bin\rep\org\apache\commons\commons-pool2\2.6.2\commons-pool2-2.6.2.jar;D:\apache-maven-3.5.4-bin\rep\com\fasterxml\jackson\core\jackson-core\2.10.0\jackson-core-2.10.0.jar"
18
256
Process finished with exit code 0
java表达式的计算顺序是从左往右的
单目乘除为关系,逻辑三目后赋值
解释说明
单目:单目运算符+ –(负数) ++ -- 等
乘除:算数单目运算符* / % + -
为:位移单目运算符<< >>
关系:关系单目运算符> < >= <= == !=
逻辑:逻辑单目运算符&& || & | ^
三目:三目单目运算符A > B ? X : Y
后:无意义,仅仅为了凑字数
赋值:赋值=