循环中的continue和break

秒速五厘米 2022-05-24 06:23 291阅读 0赞

break和continue关键字是我们在循环中经常用到的
一般break是指终止循环,使整个循环不再继续
而continue是跳过本次循环,继续下一轮的循环

那么在双重循环中又是怎样的呢?
先来看 break关键字

  1. public static void main(String[] args) {
  2. for (int i = 0; i < 4; i++) {
  3. for (int j = 0; j < 4; j++) {
  4. if(j==1){
  5. //终止内层循环 ,继续外层循环
  6. break;
  7. }
  8. System.out.println("i="+i+";j="+j);
  9. /*
  10. i=0;j=0
  11. i=1;j=0
  12. i=2;j=0
  13. i=3;j=0
  14. */
  15. }
  16. }
  17. }

如果想要终止外层循环(整个循环)呢,可以给循环加个标签(就像下面代码块中的outer和inner)

  1. public static void main(String[] args) {
  2. outer:
  3. for (int i = 0; i < 4; i++) {
  4. inner:
  5. for (int j = 0; j < 4; j++) {
  6. if(j==1){
  7. break outer ;//终止整个循环
  8. /*
  9. i=0;j=0
  10. */
  11. }
  12. }

如果是外层循环中的变量满足条件时使用break,continue 关键字

  1. public static void main(String[] args) {
  2. outer:
  3. for (int i = 0; i < 5; i++) {
  4. inner:
  5. for (int j = 0; j < 5; j++) {
  6. if(i==1){ //i==1时外层循环就不再继续,循环终止
  7. break outer;
  8. }
  9. System.out.println("i="+i+";j="+j);
  10. /*
  11. i=0;j=0
  12. i=0;j=1
  13. i=0;j=2
  14. i=0;j=3
  15. i=0;j=4
  16. */
  17. }
  18. }
  19. }

如果没有使用outer标签的话,与使用continue关键字(无论是否加outer/inner标签)的效果是一样的

  1. public static void main(String[] args) {
  2. outer:
  3. for (int i = 0; i < 5; i++) {
  4. inner:
  5. for (int j = 0; j < 5; j++) {
  6. if(i==1){
  7. //跳过i==1时的循环,继续下一外层循环
  8. break ;
  9. }
  10. System.out.println("i="+i+";j="+j);
  11. /*
  12. i=0;j=0
  13. i=0;j=1
  14. i=0;j=2
  15. i=0;j=3
  16. i=0;j=4
  17. i=2;j=0
  18. i=2;j=1
  19. i=2;j=2
  20. i=2;j=3
  21. i=2;j=4
  22. i=3;j=0
  23. i=3;j=1
  24. i=3;j=2
  25. ......
  26. */
  27. }
  28. }

那么对于continue关键字,对于针对外层循环变量的条件,与上述代码块的结果是一样的,而对于针对内层循环变量的条件

  1. public static void main(String[] args) {
  2. outer:
  3. for (int i = 0; i < 4; i++) {
  4. inner:
  5. for (int j = 0; j < 4; j++) {
  6. if(j==1){
  7. //跳过了内层的这一循环,接着走内层的下一循环
  8. continue ;//加不加innner都一样
  9. }
  10. System.out.println("i="+i+";j="+j);
  11. /*
  12. i=0;j=0
  13. i=0;j=2
  14. i=0;j=3
  15. i=1;j=0
  16. i=1;j=2
  17. i=1;j=3
  18. i=2;j=0
  19. i=2;j=2
  20. i=2;j=3
  21. i=3;j=0
  22. i=3;j=2
  23. i=3;j=3
  24. */
  25. }
  26. }
  27. }

发表评论

表情:
评论列表 (有 0 条评论,291人围观)

还没有评论,来说两句吧...

相关阅读