【发布时间】:2023-03-26 01:53:01
【问题描述】:
我在一次测试中错过了这个问题 3 次。我似乎无法掌握如何解决这个问题。非常感谢任何帮助。
public class Test {
public static void main(String[] args) {
int j = 0;
int i = ++j + j * 5;
System.out.println("What is i? " + i);
}
}
【问题讨论】:
-
你有没有试过运行代码来确定我会有什么价值?
-
它返回 6 的原因是
++j是 pre-increment 这会将j的值增加到 1,并且它会“预先”计算该行,以便在计算该行时,j的值已经是 1。而 1 + 1 * 5 = 6。 -
真正的教训:永远不要写这种代码。
-
感谢 alfasin - 现在有意义了!