区别
break和continue都可在循环语句里面使用,也都可以控制外层的循环。但是continue只能在循环语句里面使用,break也可以使用在switch语句里面。
break具体作用在循环语句中的具体作用是,跳出当前循环,当然还可以跳出所有的循环。当前循环中break语句之后的语句都不会执行。
break跳出当前循环:
1 public class Test{2 public static void main(String[]args){3//循环打印1,2,3,4 4 for(int i=0;i<5;i++){5 if(i==1){//当i等于1的时候6 break;//跳出当前循环7}8 System.out.println(i);9}10 11}12}输出结果:0
跳出所有循环:给外层循环起个别名,相当与goto
1 public class Test{2 public static void main(String[]args){3 go:for(int j=0;j<5;j++){//外层循环别名为go 4//循环打印1,2,3,4 5 for(int i=0;i<5;i++){6 if(i==1){//当i等于1的时候7 break go;//跳出外层循环8}9 System.out.println(i);10}11}12}13}输出结果:0
continue执行顺序
在for循环中先执行初始化语句-------->执行条件判断语句-------->执行循环体中的内容-------->执行循环变量变化的语句-------->进行条件判断-------->循环体,直到条件不满足结束;如果在此过程中遇到continue,则返回执行循环变量变化的语句-------->执行条件判断语句--------->执行循环体中的内容,如此循环执行,知道条件不满足结束循环。
在while中由于循环变量一般在较后的语句中,所以遇到continue之后不会循环变量不会发生改变(循环变量变化的语句在continue之前除外)。
break和continue的区别
1 public class Test{2 public static void main(String[]args){3//循环打印1,2,3,4 4 for(int i=0;i<5;i++){5 if(i==1){//当i等于1的时候6 continue;//继续执行外层循环7}8 System.out.print(i);9}10}11}输出结果:0234
当i等于1时跳过打印操作,直接执行i++语句,再进行条件判断
continue控制外层循环也是给外层循环起别名:
1 1 public class Test{2 2 public static void main(String[]args){3 3 go:for(int j=0;j<3;j++){//外层循环别名为go 4 4//循环打印1,2,3,4 5 5 for(int i=0;i<5;i++){6 6 if(i==1){//当i等于1的时候7 7 continue go;//继续执行外层循环8 8}9 9 System.out.print(i);10 10}11 11 System.out.println();//不会执行到12 12}13 13}14 14}15输出结果:000