- Java中没有goto,使用continue和break可以控制迭代(循环)的流转。
- Java中有一个概念叫标签,即标识符后面加一个冒号(label1:)标签其作用的唯一的地方刚好是紧跟迭代语句之前。
eg.
label1: outer-iteration { inner-iteration { //... break; // (1) // ... continue; // (2) // ... continue label1; // (3) // ... break label1; // (4) } }
(1) break 会跳出内部循环,并且不再执行内部循环;
(2) continue 会结束本次循环,然后跳到内部循环的开始处,执行下一次循环;
(3) continue label1 会结束整个循环,跳到label1下,并重新执行整个循环;
(4) break label1 会结束循环,跳到label1下,但是不会再执行循环。
详见<Thinking in java> P70 : 4.7 臭名昭著的goto