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

switch 分别在for和forEach中的使用

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

switch 分别在for和forEach中的使用

forEach与for循环  使用break; continue;return;关键字的区别:
forEach 不能使用break,continue关键字,return关键字为跳过本次循环。

for循环中continue为跳过本次循环,break为结束循环。同样return也结束循环,但是结束循环的同时,该方法也会结束,不再执行下一步。

下面记录switch分别在for和forEach中的区别:

switch在for循环中:

   List list =  List.of("a","b","c");
    for(int i = 0;i 

执行结果为:return0

    List list =  List.of("a","b","c");
    for(int i = 0;i 

执行结果:break0
1次循环结束
b1
default1
2次循环结束
default2
3次循环结束
流程结束

       List list =  List.of("a","b","c");
        for(int i = 0;i 

执行结果:continue0
b1
default1
2次循环结束
default2
3次循环结束
流程结束

总结:for循环内使用switch,return将直接结束循环,并结束方法。break;只对switch影响,将不再往下执行,switch内默认执行的方法default不再执行。switch外则没有影响。continue switch不再往下执行,同时也跳过本次循环。

switch在forEach中:

        List list =  List.of("a","b","c");
            list.forEach(
            t ->{
              switch (t) {
                case "a":
                {
                  System.out.println("return:"+t);
                  return;
                }
                case "b":{
                  System.out.println("b");
                }
                default:{
                    System.out.println("default:"+t);
                }
              }
              System.out.println(t+"循环结束");
            }
    );
        System.out.println("流程结束");

执行结果:return:a
b
default:b
b循环结束
default:c
c循环结束
流程结束

        List list =  List.of("a","b","c");
            list.forEach(
            t ->{
              switch (t) {
                case "a":
                {
                  System.out.println("break:"+t);
                    break;
                }
                case "b":{
                  System.out.println("b");
                }
                default:{
                    System.out.println("default:"+t);
                }
              }
              System.out.println(t+"循环结束");
            }
    );
        System.out.println("流程结束");

执行结果:break:a
a循环结束
b
default:b
b循环结束
default:c
c循环结束
流程结束

总结:forEach使用switch,使用return;switch不再往下执行,同时也跳过本次循环。(和for循环使用continue 一样)使用break;只对switch影响,将不再往下执行,switch内默认执行的方法default不再执行。switch外则没有影响(和for循环一样)。continue ;break;forEach内无法使用。

ps:switch(t) case "a":{} case "b": {}case "c": {break}case "d": {}如果t= b则,从b处开始执行,如果不写break。将执行到c。c处有break 所以不会执行d了。

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

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

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