运算符的先后顺序

计算下列的表达式

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 
后:无意义,仅仅为了凑字数 
赋值:赋值=

你可能感兴趣的:(Java基础面试题(一),java基础,java)