小编Kha*_*uma的帖子

Java:涉及方法时的运算符优先级

请帮助.我正在准备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

2
推荐指数
1
解决办法
76
查看次数

标签 统计

java ×1