1、break
break 用于完全结束一个循环,跳出循环体!不管是哪种循环,如果在程序中遇到Break,系统将完全结束该循环,开始执行循环之后的代码:
public class TestBreak { public static void main(String[] args) { //一个简单的For循环 for(int i=0;i<10;i++){ System.out.println("i的值是:"+i); if(i==2){ //执行该语句将结束循环 break; } } } }
运行上面程序,可以看到i循环到2时,当即结束,当i==2时,循环体内遇到break语句,程序跳出该循环。
运行结果输出如下:
i的值是:0 i的值是:1 i的值是:2
break 语句不仅可以结束期所在的循环,还可以直接结束其外层循环,此时需要在break后紧跟一个标签,这个标签用于标识一个外层循环。JAVA中的标签就是一个紧跟着一个英文冒号(:)的标识符。与其他语言不同的是,java中的标签只有在循环语句之前才有作用,我们看看下面的代码:
public class TestBreak2 { /** * @param args */ public static void main(String[] args) { //外层循环outer 作为标志符 outer: for (int i=0;i<5;i++){ //内层循环 for(int j=0;j<3;j++){ System.out.println("i的值为:"+i+" j的值为:"+j); if(j==1){ //跳出outer标签所标志的循环 break outer; } } } } }
运行后输出结果如下:
i的值为:0 j的值为:0 i的值为:0 j的值为:1
2.continue
continue 的功能和break有点类似,区别是continue只是终止本次循环,接着开始下一次循环。而break是完全终止循环。可以这样理解,continue的作用略过当次循环中剩下的语句,重新开始新的循环!具体的还是看下代码理解吧.
public class TestContinue { /** * @param args */ public static void main(String[] args) { //一个简单的For 循环 for(int i=0;i<3;i++){ System.out.println("i的值是:"+i); if(i==1){ //略过本次循环的剩下语句 continue; } System.out.println("continue后的输出语句"); } } }
运行后输出结果:
i的值是:0 continue后的输出语句 i的值是:1 i的值是:2 continue后的输出语句
在上面的结果可以看出,当i==1时,就没有输出后面的语句了,也就是略过!执行下次循环!
与break类似,continue也可以紧跟一个标签,用于结束标签所标识循环的当次循环,重新开始下一次循环!
public class TestContinue2 { public static void main(String[] args) { //外层循环outer 作为标志符 outer: for (int i=0;i<5;i++){ //内层循环 for(int j=0;j<3;j++){ System.out.println("i的值为:"+i+" j的值为:"+j); if(j==1){ //跳出outer标签所标志的循环 continue outer; } } } } }
执行结果如下:
i的值为:0 j的值为:0 i的值为:0 j的值为:1 i的值为:1 j的值为:0 i的值为:1 j的值为:1 i的值为:2 j的值为:0 i的值为:2 j的值为:1 i的值为:3 j的值为:0 i的值为:3 j的值为:1 i的值为:4 j的值为:0 i的值为:4 j的值为:1