跳转控制语句—break,continue,return详解
1. 概述:
为了让循环在某一步的时候结束或者跳过某些数据或者不要这些数据,现在无法实现这个需求。为了弥补这个缺陷,Java就提供了break,continue等来实现控制语句的中断和跳转。
2. Break
2.1 break的作用
break可以作用在switch forwhile do while中,跳出单层循环。
2.2 break在for/while/do…while循环中的使用
l 说明:
会终止循环,并继续执行循环体下面的语句。
l 代码示例:
public class BreakDemo01 { public static void main(String[] args) { //for 第三遍后 让她闭嘴 for(int i = 1;i <= 10 ;i++){ if(i == 4){ //让她闭嘴 break; }else{ System.out.println("你爱不爱我?"+i); } } System.out.println("========================="); //while 第三遍后 让她闭嘴 int i = 1; while(i <= 10){ if(i == 4){ break; }else{ System.out.println("你爱不爱我?"+i); } i++; }//while End System.out.println("========================="); int j = 1; do{ if(j == 4){ break; }else{ System.out.println("你爱不爱我?"+j); } j++; }while(j <= 10); System.out.println("========================="); } }
2.3 break在switch中的使用
l 说明:
break用在switch中,break跳出判断语句后,继续运行switch判断下面的代码。
l 代码示例:
public class BreakDemo02 { public static void main(String[] args) { int i = 2; switch (i){ case 2: System.out.println("程序结束,跳出判断语句"); break; default: break; } System.out.println("break跳出判断语句后,继续运行switch判断下面的代码"); } }
3. continue
l 说明:
Continue是作用在循环语句中,用来跳过本次循环,继续执行下一次循环。
l 代码示例:
public class ContinueDemo01 { public static void main(String[] args) { //10 遍中每4遍 少说一次 //用在for循环中 for(int i = 1; i <= 10; i++){ if(i == 4){ continue;//少说一遍 少执行一次循环体 }else{ System.out.println("你爱不爱我?"+i); } } System.out.println("==================================="); //用在while循环中 int i = 1; while(i <= 10){ if(i == 4){ System.out.println("continue "+i); ++i; continue;//少说一遍 少执行一次循环体 }else{ System.out.println("你爱不爱我?"+i); } i++; } System.out.println("==================================="); //用在do - while循环中 int j = 1; do{ if(j == 4){ System.out.println("continue "+j); ++j; continue;//少说一遍,少执行一次循环体 }else{ System.out.println("你爱不爱我?"+j); } j++; }while(j <= 10); } }
4. return
return可以用在if switch forwhile do while中,全适用
4.1 return用在if中
l 说明:
return用在if中,执行到return时,不会继续执行if判断代码外面代码下面的代码。
l 代码示例:
public class ReturnDemo01 { public static void main(String[] args) { int i = 2; if (i > 1) { return; } System.out.println("--------------------------"); } }
4.2 return用在switch中
l 说明:
return用在switch中,必须用在switch结尾的default后,执行到return时,不会继续执行switch判断代码外面下面的代码
l 代码示例:
public class ReturnDemo02 { public static void main(String[] args) { switch (1){ case 0: System.out.println(0); break; case 2: System.out.println(2); break; default: System.out.println("default"); return; } System.out.println("test"); } }
4.3 return用在for循环中
l 说明:
return用在for循环中,结束循环体,并且for循环体下面的语句不会再执行。在没有找到返回值时,写return -1。
l 代码示例:
public class ReturnDemo03 { public static void main(String[] args) { for (int i=1;i < 10;i++){ return; } System.out.println("test"); } }
4.4 return用在方法中
l 说明:
Return用在方法中,会结束整个方法,并从调用方法的语句继续向下执行。
l 代码示例:
public class ReturnDemo04 { public static void main(String[] args) { getNum(); System.out.println("上面调用的方法中有return,从调用方法的语句继续向下执行"); } //return写在方法中 public static int getNum(){ int i = 1; return -1; } }
4.5 return用在for和if的嵌套中
l 说明:
return用在for if嵌套中,return写在if中,当执行到return时,循环不再继续运行,并且循环体外面下面的代码也不会被运行
l 代码示例:
public class ReturnDemo05 { public static void main(String[] args) { for (int i = 0; i <10 ; i++) { if (i == 4){ return; } System.out.println("for if嵌套,if判断语句体中写return,执行到return时,是否会继续执行if判断体下面的代码"); } System.out.println("for if嵌套,if判断语句体中写return,执行到return时,是否会继续执行for循环体下面的代码"); } }