请帮助.我正在准备Java 7 Programmer 1考试,并在其中一个enthuware测试中遇到了这个问题.
请考虑以下方法:
static int mx(int s)
{
for(int i=0;i<3;i++)
{
s=s+i;
}
return s;
}
以下代码片段:
` int s=5;
s += s + mx(s) + ++s;
System.out.println(s);`
Run Code Online (Sandbox Code Playgroud)
它会打印什么?
结束问题
根据运算符优先级的规则,我开始评估++ s的s值为6,然后在mx方法中使用6得到值8.接下来我添加了6 + 8 + 6 = 20.然后最终执行赋值操作为s = 6 + 20 = 26.
正确答案是24.我似乎无法弄清楚他们是如何得出答案的.请发一些亮点.
java ×1