break

  • break表示中断
  • break使用场景:在switch case中或者循环中使用
  • break作用:当遇到break则结束当前整个switch case或者结束当前整个循环

continue

  • continue表示继续
  • continue使用场景:只能在循环中使用
  • continue作用:当遇到continue则结束本次循环(当次循环),继续下一次循环

return

  • return表示返回
  • return使用场景:在方法中使用
  • return作用:当遇到return则就结束当前这个方法,返回到方法的调用处
  • return的特殊形式
  • 当方法是无返回值类型时,方法体中可以编写return 但是必须编写为return;

return使用的几种注意形式

  1. main方法中也可以使用return,但是必须编写为return;

 

java break会跳几层循环 break跳出几层循环_System

 

当方法只有两种情况,但是得到最终一个结果时,则有如下几种形式写法

 

java break会跳几层循环 break跳出几层循环_switch语句_02

 

  1. 当带返回值的方法中使用switch case时,常见的问题:

 

java break会跳几层循环 break跳出几层循环_switch语句_03

 

break是跳出一层循环,continue是结束一趟循环 ,return才是结束所有层循环!

如果有多层for循环,break会跳出当前这一层,去执行最外层循环(而不是退出所有层循环);而continue则结束当前次循环(继续)而去执行下次循环,但本层循环没有结束.(注意一层循环和一次循环的区别:一层循环包含若干(i)次循环)

public class testBreak {

    public static void main(String[] args) {
        Out:
               for(int i=0;i<5;i++){
                   System.out.println("开始循环"+i);
                   In:
                       for(int j=3;j>0;j--){
                            //break Out;
                           System.out.println("最内层循环退出了"+j+"次!");
                            break In;
                       }
        System.out.println("最外层循环"+i+"次");
               }

    }

}

看运行结果你就明白了:

开始循环0
最内层循环退出了3次!
最外层循环0次
开始循环1
最内层循环退出了3次!
最外层循环1次
开始循环2
最内层循环退出了3次!
最外层循环2次
开始循环3
最内层循环退出了3次!
最外层循环3次
开始循环4
最内层循环退出了3次!
最外层循环4次

把上述代码中的break In改为return;  再试试,

结果:

开始循环0
最内层循环退出了3次!

 

return退出了所有的循环!

 

1、return 语句的作用

      (1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行

      (2) return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致,可以使用强制类型转换来是数据类型一致

      (3) return 当方法说明中用void声明返回类型为空时,应使用这种格式,不返回任何值。

2、break语句的作用

      (1) 只能在循环体内和switch语句体内使用break语句。

      (2) 当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。

      (3) 当break出现在循环体中,但并不在switch语句体内时,则在执行break后,跳出本层循环体。

      (4) 在循环结构中,应用break语句使流程跳出本层循环体,从而提前结束本层循环

3、continue语句作用

      (1) continue语句continue语句的一般形式为:contonue;

      (2) 其作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。

      (3) 注意:执行continue语句并没有使整个循环终止。在while和do-while循环中,continue语句使得流程直接跳到循环控制条件的测试部分 ,然后决定循环是否继续进行。

      (4) 在for 循环中,遇到continue后,跳过循环体中余下的语句,而去对for语句中的“表达式3”求值,然后进行“表达式2”的条件测试,

       最后根据“表达式2”的值来决定for循环是否执行。在循环体内,不论continue是作为何种语句中的语句成分,都将按上述功能执行,这点与break有所不同

*/

class Test

{

public static void main(String[] args)

{

testBreak();

testContinue();

testReturn();

}

static void testBreak()

{

for(int i=0;i<10;i++)

{

   if(i%2==0)

   {

    System.out.println("i="+i);

   }

   else

   {

    System.out.println("执行了break语句,跳出当前循环!");

    break;

   }

}

}

static void testContinue()

{

for(int i=0;i<10;i++)

{

   if(i%2==0)

   {

    System.out.println("没有执行continue语句输出i="+i);

   }

   else

   {

    System.out.println("执行了Continue语句,跳出当前循环!");

    continue;

   }

}

}

static void testReturn()

{

for(int i=0;i<10;i++)

{

   System.out.println("执行了return语句,直接跳出了当前的testReturn方法!");

   return;

}

}

}

 

/*运行结果:

i=0

执行了break语句,跳出当前循环!

没有执行continue语句输出i=0

执行了Continue语句,跳出当前循环!

没有执行continue语句输出i=2

执行了Continue语句,跳出当前循环!

没有执行continue语句输出i=4

执行了Continue语句,跳出当前循环!

没有执行continue语句输出i=6

执行了Continue语句,跳出当前循环!

没有执行continue语句输出i=8

执行了Continue语句,跳出当前循环!

执行了return语句,直接跳出了当前的testReturn方法!

*/