forEach与for循环 使用break; continue;return;关键字的区别:
forEach 不能使用break,continue关键字,return关键字为跳过本次循环。
for循环中continue为跳过本次循环,break为结束循环。同样return也结束循环,但是结束循环的同时,该方法也会结束,不再执行下一步。
下面记录switch分别在for和forEach中的区别:
switch在for循环中:
Listlist = List.of("a","b","c"); for(int i = 0;i 执行结果为:return0
Listlist = List.of("a","b","c"); for(int i = 0;i 执行结果:break0
1次循环结束
b1
default1
2次循环结束
default2
3次循环结束
流程结束Listlist = 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中:
Listlist = 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循环结束
流程结束Listlist = 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了。



