栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java知识点(1) return、break和continue的区别还傻傻分不清

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java知识点(1) return、break和continue的区别还傻傻分不清

目标

return、break和continue的在循环体中的区别
for、while、stream.foreach()都有效么?
demo代码地址 https://gitcode.net/kiduo08/learning-junior.git

区别

1、for循环-continue作用:结束本次循环,继续for未执行的循环。

public class Junior1 {
    public static void main(String[] args) {
        int result = continueMethod();
        System.out.println("函数调用返回结果=="+result);
    }
    static int continueMethod(){
        int returnInt = 0;
        for(int i=1;i<5;i++){
            if(i == 3){
                continue;
            }
            System.out.println(i);
            returnInt = i;
        }
        System.out.println("for循环执行结束");
        return returnInt;
    }
}

输出结果:

1
2
4
for循环执行结束
函数调用返回结果==4

结论:输出结果只少了一个3,可以得出continue是结束本次i==3的循环,从i==4开始继续循环。

2、for循环-break作用:跳出循环执行for循环后面的语句

public class Junior1 {
	public static void main(String[] args) {
  		int result = breakMethod();
        System.out.println("函数调用返回结果=="+result);
   	 }
    static int breakMethod(){
        int returnInt = 0;
        for(int i=1;i<5;i++){
            if(i == 3){
                break;
            }
            System.out.println(i);
            returnInt = i;
        }
        System.out.println("for循环执行结束");
        return returnInt;
    }
}

输出结果:

1
2
for循环执行结束
函数调用返回结果==2

结论:3、4未输出,输出for循环执行结束,得出break是跳出当前for循环体,继续for循环体后面的语句。

3、for循环-return作用:直接结束函数调用并返回结果。

public class Junior1 {
    public static void main(String[] args) {
		int result = returnMethod();
        System.out.println("函数调用返回结果=="+result);
    }
    static int returnMethod(){
        int returnInt = 0;
        for(int i=1;i<5;i++){
            if(i == 3){
                return i;
            }
            System.out.println(i);
            returnInt = i;
        }
        System.out.println("for循环执行结束");
        return returnInt;
    }
}

输出结果

1
2
函数调用返回结果==3

结论:3、4 与for循环执行结束都未输出,得出return直接结束本次函数调用。

总结

一、作用不同

  1. continue:执行continue操作,跳出本次循环,从下一个迭代继续运行循环,内层循环执行完毕,外层代码继续运行。
  2. break:执行break操作,跳出所在的当前整个循环,到外层代码继续执行。
  3. return:执行return操作,直接返回函数,所有该函数体内的代码(包括循环体)都不会再执行。

二、结束不同

  1. continue:continue结束的是本次循环,将接着开始下一次循环。
  2. return:return同时结束其所在的循环和其外层循环。
  3. break:结束其所在的循环。

三、补充
1、break: 如果有两层循环 break 在最里面的一层循环,会跳出两层循环还是会跳出一层循环呢?

 static String breakMethod(String[] arr){
        String returnString = "";
        for(int k=1;k<3;k++){
            System.out.println(k);
            for(int i=0;i
                if("c".equals(arr[i])){
                    System.out.println("当前判断为true");
                    break;
                }
                System.out.println(arr[i]);
                returnString = arr[i];
            }
        }
        System.out.println("breakMethod执行结束");
        return returnString;
    }
1
a
b
当前判断为true
2
a
b
当前判断为true
breakMethod执行结束
函数调用返回结果==b

根据结果可以看出、break 只是跳出当前循环(for(int i=0;i)这个循环

2、如果是stream.forEach()怎么报错,怎么来替代呢?
stream.forEach()方法中使用 continue与break 的话会编译报错,使用return 来替代continue;
视频演示详细讲解https://www.bilibili.com/video/BV11B4y117yq?spm_id_from=333.999.0.0

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/863040.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号