gpt4 book ai didi

Java : Operator Precedence when methods are involved

转载 作者:行者123 更新时间:2023-11-30 06:15:23 27 4
gpt4 key购买 nike

请帮忙。我正在准备 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);`

它会打印什么?

结束问题

根据运算符优先级规则,我首先计算++s 得到 s 的值 6,然后在 mx 方法中使用 6 得到值 8。接下来我添加 6+8+6 = 20.最后进行赋值操作为s = 6+ 20 = 26。

正确答案是 24。我似乎无法弄清楚他们是如何得出这个答案的。请说明一些问题。

最佳答案

你不应该从 ++s 开始,因为计算是从左到右的。

s += s + mx(s) + ++s;

相同
s = 5 + 5 + mx (5) + 6;

这是

s = 5 + 5 + 8 + 6 = 24

关于Java : Operator Precedence when methods are involved,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28914693/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com