break,return和continue三者区别(Java)
一、break用于完全结束一个循环,跳出循环体。
不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。
class Demo3 { public static void main(String[] args) { for(int i=1;i<=5;i++){ if(i==4){ break; } } System.out.println("Java"); } }
break不仅可以结束其所在的循环,还可结束其外层循环。此时需要在break后紧跟一个标签,这个标签用于标识一个外层循环。Java中的标签就是一个紧跟着英文冒号(:)的标识符。且它必须放在循环语句之前才有作用。
public class Demo4{ public static void main(String[]args){ outer: for(int i=0;i<4;i++){ for(int j=0;j<3;j++){ System.out.println("i的值为:"+i+" j的值为:"+j); if(j==1){ break outer; } } } } }
二、return并不是专门用于跳出循环的,return的功能是结束一个方法。
一旦在循环体内执行到一个return语句,return语句将会结束该方法,循环自然也随之结束。
与continue和break不同的是,return直接结束整个方法,不管这个return处于多少层循环之内。
代码一:
class Demo3 { public static void main(String[] args) { for(int i=1;i<=5;i++){ if(i==4){ //break; return; } } System.out.println("Java"); } }
代码二:
public class Demo6 { public static void main(String[]args){ for(int i=0;i<3;i++){ System.out.println("i的值是:"+i); if(i==1){ return; } System.out.println("continue之后了"); } } }
三、continue的功能和break有点类似,区别是continue只是中止本次循环,接着开始下一次循环。而break则是完全中止循环。
public class Demo5 { public static void main(String[]args){ for(int i=0;i<3;i++){ System.out.println("i的值是:"+i); if(i==1){ continue; } System.out.println("continue之后了"); } } }