break,continue和return的区别

2023-10-16 08:47:42 浏览数 (2)

break

使用场景:用于各种循环语句中,跳出循环

作用:

跳出break所在的那层循环(若有多层循环,只能跳出内层)

代码语言:javascript复制
public class A{
    public static void main(String args[]){
        int a = 60;
        switch(a){
            case 60:
                System.out.println("及格");
                break;
            case 80:
                System.out.println("优秀");
            case 100:
                System.out.println("满分");
            case default:
                System.out.println("default");
        }
    }
}
//1.输出结果:及格
/*2.如果各个case中没有break,那么在case匹配正确后,仍会输出接下来的语句。
输出结果(去除break后):
 及格
 优秀
 满分
 default
*/
代码语言:javascript复制
public class A {
      public static void main(String args[]){
           for(int i = 1; i < 6; i  ){
               for(int j = 1; j < 6; j  ){
                   System.out.print("haha"   " ");
                   break;
               }
               System.out.println("第"   i   "次");
           }
       }
   }
   /*1.输出结果:
       haha 第1次
       haha 第2次
       haha 第3次
       haha 第4次
       haha 第5次
   */
   /*2.如果内层循环中没有break,则内层循环终止,从外层循环再开始
       haha haha haha haha haha 第1次
       haha haha haha haha haha 第2次
       haha haha haha haha haha 第3次
       haha haha haha haha haha 第4次
       haha haha haha haha haha 第5次
    */

若要跳出多层循环,则需要配合标签语句使用

标签语句格式(标签名一定要符合Java的命名规则,不能用保留字)-----标签名:----如Outer:

代码语言:javascript复制
public class A {
      public static void main(String args[]){
          Outer:
           for(int i = 1; i < 6; i  ){
               Inner:
               for(int j = 1; j < 6; j  ){
                   System.out.print("haha"   " ");
                   break Outer;
               }
               System.out.println("第"   i   "次");
           }
       }
}
/*输出结果:
	haha

成功跳出两层循环
*/

continue

使用场景:循环语句中

作用:中断当前循环,进行下次循环。

代码语言:javascript复制
public class B {
      public static void main(String args[]){
           for(int i = 1; i < 6; i  ){
               if(i == 4) continue;
               System.out.println("第"   i   "次");
           }
       }
}
/*输出结果
    第1次
    第2次
    第3次
    第5次
    
  直接跳过了i=4,进入下一个循环
*/

值得注意的是,在单独的switch语句中无法使用continue(会发生编译错误,也没有意义),但是可以在一个循环语句的switch中使用。直接进行到下一次循环。

代码语言:javascript复制
public class B {
      public static void main(String args[]){
          int a = 80
          boolean flag = false;
           while(flag == false){
               flag = true;
                switch(a){
                    case 60:
                        System.out.println("及格");
                    case 80:
                        System.out.println("优秀");
                        continue;
                    case 100:
                        System.out.println("满分");
                    case default:
                        System.out.println("default");
                }
           }
      }
}
/*输出结果
	优秀
	
	在语句到达case:80时,直接退出当前循环
*/

return

使用场景:方法内

作用:退出当前方法

代码语言:javascript复制
public class A {
      public static void main(String args[]){
           for(int i = 1; i < 6; i  ){
               for(int j = 1; j < 6; j  ){
                   System.out.print("haha"   " ");
                   if(j == 2) return;
               }
               System.out.println("第"   i   "次");
           }
          System.out.println("end");
       }
}
/*输出结果
	haha
	
    不执行for循环后的语句,直接跳出当前方法。
*/

0 人点赞