public class LabeledLoop {
public static void main(String[] args) {
int i = 0;
outer: // Can't have statements here
for(; true ;) {
inner: // Can't have statements here
for(; i < 10; i++) {
prt("i = " + i);
if(i == 2) {
prt("continue");
continue;
}
if(i == 3) {
prt("break");
i++; // Otherwise i never gets incremented.
break;
}
if(i == 7) {
prt("continue outer");
i++; // Otherwise i never gets incremented.
continue outer;
}
if(i == 8) {
prt("break outer");
break outer;
}
for(int k = 0; k < 5; k++) {
if(k == 3) {
prt("continue inner");
continue inner;
}
}
}
}
// Can't break or continue to labels here
}
static void prt(String s) {
System.out.println(s);
}
}
* switch要求使用一个选择因子,并且必须是int 或char 那样的整数值。假若将一个字串或者浮点数作为
选择因子使用,那么它们在switch 语句里是不会工作的。对于非整数类型,则必须使用一系列if 语句。
* 每个case 均以一个break 结尾。这样可使执行流程跳转至switch 主体的末尾。
* 若省略break,会继续执行后面的case 语句的代码,直到遇到一个break 为止。
输出为:
i = 0
continue inner
i = 1
continue inner
i = 2
continue
i = 3
break
i = 4
continue inner
i = 5
continue inner
i = 6
continue inner
i = 7
continue outer
i = 8
break outer