针对我的问题,我只列举了第一种情况,但其他情况也是相同的。假设目前 value 的值为 1,我们进入 case 1 并循环遍历数组查看每个元素是否与 whatever_value 变量匹配。在这种情况下,如果匹配成功,我们会将 value 变量声明为等于 2,并且跳出循环。问题在于,当我在 eclipse 中选择其他 break 时,它显示这些 break 也与 for 语句相关联,但我只想让 for 语句与 if 语句相关联,而不是与 else if 语句相关联。我以为因为 for 语句没有括号,所以它只循环 if 语句,但是 eclipse 显示否定(else if 也从 0 循环到数组长度)。
switch (value) {
case 1:
for (int i = 0; i < something_in_the_array.length; i++)
if (whatever_value == (something_in_the_array[i])) {
value = 2;
break;
} else if (whatever_value == 2) {
value = 3;
break;
} else if (whatever_value == 3) {
value = 4;
break;
}
break;
case 2:
// code continues....