基本上输出结果为i = 11
,虽然每次我尝试追踪它时,答案都会和我一起出现9
。 我一直在玩代码,看看多余的2来自哪里。它在3/4
的情况下,但我找不到i
的任何增量状态,虽然它在此时变成4
。任何人都可以帮我解释一下吗?递减开关语句输出
public class out2 {
public static void main(String args[]) {
int i = 0, j = 7;
boolean f = true;
while (i <= 4) {
switch (--j) {
case 1:
case 2:
i = f ? i + 7 : i + 1;
break;
case 3:
case 4:
i = !f ? j++ : j--;
break;
case 5:
case 6:
i = (i == j) ? i - 1 : i + 1;
}
}
System.out.println("j=" + j + "\ni=" + i);
}
}
您是否尝试通过放置一些断点来调试并查看执行流程是什么? – user2336315 2014-11-06 15:27:38
甚至更简单:尝试通过在while循环中添加println来查看流程。 – user1252434 2014-11-06 15:33:28
伙计们不要再这么说了,这就是它如何写在血腥的试卷中,所以我需要以它的方式来理解它-_- – 2014-11-06 15:37:44