break
标识符放在外循环
public class Tetst {
public static void main(String[] args) {
ouer:
for (int i = 0; i < 5 ; i++) {
System.out.println("i=" + i);
for (int j = 0; j <3 ; j++) {
System.out.println( "i="+i+" "+"j="+j);
if ( j == 2){
System.out.println("我已经被break了,后面内循环内容不会执行了");
break ouer;
}
System.out.println("我在内循环");
}
System.out.println("我在外循环");
}
}
}
break 后跟上 标识符 将直接结束 外层循环
运行结果
i=0
i=0 j=0
我在内循环
i=0 j=1
我在内循环
i=0 j=2
我已经被break了,后面内循环内容不会执行了
结论 break 标识符放在外循环 将直接结束 外层循环
如果将这个标识符放在内循环中效果如何
public class Tetst {
public static void main(String[] args) {
for (int i = 0; i < 5 ; i++) {
System.out.println("i=" + i);
ouer:
for (int j = 0; j <3 ; j++) {
System.out.println( "i="+i+" "+"j="+j);
if ( j == 2){
System.out.println("我已经被break了,后面内循环内容不会执行了");
break ouer;
}
System.out.println("我在内循环");
}
System.out.println("我在外循环");
}
}
}
运行结果
i=0
i=0 j=0
我在内循环
i=0 j=1
我在内循环
i=0 j=2
我已经被break了,后面内循环内容不会执行了
我在外循环
i=1
i=1 j=0
我在内循环
i=1 j=1
我在内循环
i=1 j=2
我已经被break了,后面内循环内容不会执行了
我在外循环
i=2
i=2 j=0
我在内循环
i=2 j=1
我在内循环
i=2 j=2
我已经被break了,后面内循环内容不会执行了
我在外循环
i=3
i=3 j=0
我在内循环
i=3 j=1
我在内循环
i=3 j=2
我已经被break了,后面内循环内容不会执行了
我在外循环
i=4
i=4 j=0
我在内循环
i=4 j=1
我在内循环
i=4 j=2
我已经被break了,后面内循环内容不会执行了
我在外循环
其效果 等同于于 continue; 但不推荐这样
使用 continue;
public class Tetst {
public static void main(String[] args) {
for (int i = 0; i < 5 ; i++) {
System.out.println("i=" + i);
for (int j = 0; j <3 ; j++) {
System.out.println( "i="+i+" "+"j="+j);
if ( j == 2){
System.out.println("我已经被break了,后面内循环内容不会执行了");
continue;
}
System.out.println("我在内循环");
}
System.out.println("我在外循环");
}
}
}
运行结果
i=0
i=0 j=0
我在内循环
i=0 j=1
我在内循环
i=0 j=2
我已经被break了,后面内循环内容不会执行了
我在外循环
i=1
i=1 j=0
我在内循环
i=1 j=1
我在内循环
i=1 j=2
我已经被break了,后面内循环内容不会执行了
我在外循环
i=2
i=2 j=0
我在内循环
i=2 j=1
我在内循环
i=2 j=2
我已经被break了,后面内循环内容不会执行了
我在外循环
i=3
i=3 j=0
我在内循环
i=3 j=1
我在内循环
i=3 j=2
我已经被break了,后面内循环内容不会执行了
我在外循环
i=4
i=4 j=0
我在内循环
i=4 j=1
我在内循环
i=4 j=2
我已经被break了,后面内循环内容不会执行了
我在外循环
这种方式及其不推荐
contine
标识符放在外循环
public class Tetst {
public static void main(String[] args) {
ouer:
for (int i = 0; i < 5 ; i++) {
System.out.println("i=" + i);
for (int j = 0; j <3 ; j++) {
System.out.println( "i="+i+" "+"j="+j);
if ( j == 2){
System.out.println("我已经被continue了,后面内循环内容不会执行了");
continue ouer;
}
System.out.println("我在内循环");
}
System.out.println("我在外循环");
}
}
}
运行结果
i=0
i=0 j=0
我在内循环
i=0 j=1
我在内循环
i=0 j=2
我已经被continue了,后面内循环内容不会执行了
i=1
i=1 j=0
我在内循环
i=1 j=1
我在内循环
i=1 j=2
我已经被continue了,后面内循环内容不会执行了
i=2
i=2 j=0
我在内循环
i=2 j=1
我在内循环
i=2 j=2
我已经被continue了,后面内循环内容不会执行了
i=3
i=3 j=0
我在内循环
i=3 j=1
我在内循环
i=3 j=2
我已经被continue了,后面内循环内容不会执行了
i=4
i=4 j=0
我在内循环
i=4 j=1
我在内循环
i=4 j=2
我已经被continue了,后面内循环内容不会执行了
结论 continue 标识符放在外循环 将结束当次循环剩下语句 包括外循环的语句 ,并重新开始下一次循环
如果标识符放在 内循环呢
public class Tetst {
public static void main(String[] args) {
for (int i = 0; i < 5 ; i++) {
System.out.println("i=" + i);
outer:
for (int j = 0; j <3 ; j++) {
System.out.println( "i="+i+" "+"j="+j);
if ( j == 2){
System.out.println("我已经被continue了,后面内循环内容不会执行了");
continue outer;
}
System.out.println("我在内循环");
}
System.out.println("我在外循环");
}
}
}
运行结果
i=0
i=0 j=0
我在内循环
i=0 j=1
我在内循环
i=0 j=2
我已经被continue了,后面内循环内容不会执行了
我在外循环
i=1
i=1 j=0
我在内循环
i=1 j=1
我在内循环
i=1 j=2
我已经被continue了,后面内循环内容不会执行了
我在外循环
i=2
i=2 j=0
我在内循环
i=2 j=1
我在内循环
i=2 j=2
我已经被continue了,后面内循环内容不会执行了
我在外循环
i=3
i=3 j=0
我在内循环
i=3 j=1
我在内循环
i=3 j=2
我已经被continue了,后面内循环内容不会执行了
我在外循环
i=4
i=4 j=0
我在内循环
i=4 j=1
我在内循环
i=4 j=2
我已经被continue了,后面内循环内容不会执行了
我在外循环
这种也是及其不推荐的 效果等同于continue
只适用continue
public class Tetst {
public static void main(String[] args) {
for (int i = 0; i < 5 ; i++) {
System.out.println("i=" + i);
for (int j = 0; j <3 ; j++) {
System.out.println( "i="+i+" "+"j="+j);
if ( j == 2){
System.out.println("我已经被continue了,后面内循环内容不会执行了");
continue ;
}
System.out.println("我在内循环");
}
System.out.println("我在外循环");
}
}
}
运行结果
i=0
i=0 j=0
我在内循环
i=0 j=1
我在内循环
i=0 j=2
我已经被continue了,后面内循环内容不会执行了
我在外循环
i=1
i=1 j=0
我在内循环
i=1 j=1
我在内循环
i=1 j=2
我已经被continue了,后面内循环内容不会执行了
我在外循环
i=2
i=2 j=0
我在内循环
i=2 j=1
我在内循环
i=2 j=2
我已经被continue了,后面内循环内容不会执行了
我在外循环
i=3
i=3 j=0
我在内循环
i=3 j=1
我在内循环
i=3 j=2
我已经被continue了,后面内循环内容不会执行了
我在外循环
i=4
i=4 j=0
我在内循环
i=4 j=1
我在内循环
i=4 j=2
我已经被continue了,后面内循环内容不会执行了
我在外循环