gpt4 book ai didi

java - 如何评估此 switch 语句?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:26:06 28 4
gpt4 key购买 nike

编译器如何解释这个 switch 语句?我假设 switch 语句中的内容是 (41),那为什么会转到 case 2?

    int i = 4;
int j = 2;

switch(i++-j) { //switch is evaluted to be (41)??
case 3: i++; break;
case 1: j++; break;
case 2: j+=2; break;
case 5: i+=2; break;
default: i +=5; break;
}

System.out.println(i); //Prints out 4
System.out.println(j); //Prints out 5

最佳答案

分解:

i++-j

++- 具有更高的优先级,因此:

(i++)-j

++ 是后缀增量——它会计算增量前的 i 的值。 i 的初始值为 4,因此:

4-j

j2,因此表达式的计算结果为 4-2 = 2

i 已递增,因此现在的值为 5j被switch语句中的代码修改。

关于java - 如何评估此 switch 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25091425/

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