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