在一个java项目中,我有以下代码:
public static <return> method(<parameters>){
1 <any method call>
2 while( <conditions> ){
3 <any method call>
4 switch(<enum or integer>){
5 case 0:
6 <any method call>
7 break;
8 case 1:
9 <any method call>
10 break;
11 case 3:
12 <any method call>
13 break;
14 default:
15 <any method call>
16 break;
17 }
18 <any method call>
19 }
}
用调试器单步跳过的时候,我第一次进入while,就从2跳到16。
我一直在尝试用剥离的代码复制它,但没有成功,并找出导致这种奇怪行为的部分,但直到现在,才发现另一个奇怪的事情:
当我在 1 处声明一个虚拟变量并在 18 处修改它(在 3 处不起作用)时,行为是预期的(在 2 之后输入第 3 行)
编辑: