2019春招面试题总结-03

public class B{
    public static void main(String[] args){
        int i = 12;
        System.out.println(i+=i-=i*=i);
    }
}

问题:请分析上述代码的运行结果

选项: A 100

    B 0

    C -120

      D 无法编译通过

解析:此题主要考察运算的顺序,具体分析如下:

    i+=i-=i*=i(原式)可看分成如下式 i+=x,即 i = i+x ,其中x相当于 i-=i*=i

    x可继续拆分为 i-=y,即 i = i-y,其中y相当于i*=i

    i*=i即i = i*i

    所以 y=i*i

    所以 x = i-i*i

    所以 原式 = i+i-i*i = (2-i)*i = -120

    此题应选择C选项

    

原文地址:https://www.cnblogs.com/helloworldmybokeyuan/p/11189121.html