continue,break和return的区别

1,三者都是中断程序的执行,但是中断的能力不同
continue最弱,break中间,return最强,即continue<break<return,continue中断一趟循环,break中断一层循环,return中断所有层循环
2,举例说明

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

1)如果是break语句,结果是:
开始循环0
最内层循环退出了3次!
最外层循环0次
开始循环1
最内层循环退出了3次!
最外层循环1次
开始循环2
最内层循环退出了3次!
最外层循环2次
开始循环3
最内层循环退出了3次!
最外层循环3次
开始循环4
最内层循环退出了3次!
最外层循环4次

注意:这里面break执行之后,不再执行j–

2)如果是return语句,结果是:
开始循环0
最内层循环退出了3次!

注意:这里是直接把所有的循环都给结束了,并且直接结束return语句所在的方法体或者函数体,再次测试如下

这是return语句在子方法体中,不会影响主函数中“测试使用”的输出

public class breaktest {
            public static void main(String[] args) {
                test01();
                System.out.println("测试使用");

            }
            public static void test01(){
                for(int i=0;i<5;i++){
                    System.out.println("开始循环"+i);

                    for(int j=3;j>0;j--){
                        System.out.println("最内层循环退出了"+j+"次!");
                        //break;
                        return;
                    }
                    System.out.println("最外层循环"+i+"次");
                }
            }

}

结果是::
开始循环0
最内层循环退出了3次!
测试使用

但如果return语句在主方法中,则直接结束主方法体,“测试输出”不会出现

public class breaktest {
            public static void main(String[] args) {

                for(int i=0;i<5;i++){
                    System.out.println("开始循环"+i);

                    for(int j=3;j>0;j--){
                        System.out.println("最内层循环退出了"+j+"次!");
                        //break;
                        return;
                    }
                    System.out.println("最外层循环"+i+"次");
                }
                test01();
            }
               public static void test01(){
                   System.out.println("测试使用");
               }

}

结果是:
开始循环0
最内层循环退出了3次!

表明确实return直接结束方法体!

  1. 如果是continue
public class breaktest {
            public static void main(String[] args) {

                for(int i=0;i<3;i++){
                    System.out.println("最外层循环开始"+i+"次");
                    for(int j=0;j<3;j++){
                        System.out.println("最内层循环开始"+j+"次!");
                        //break;
                        //return;
                        continue;
                        System.out.println("最内层循环结束"+j+"次!");
                    }
                    System.out.println("最外层循环结束"+i+"次");
                }
                test01();
            }
               public static void test01(){
                   System.out.println("测试使用");
               }

}

结果报错,因为continue后面的语句实现不了
Error:(15, 25) java: 无法访问的语句

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值