day16-break,continue,goto

break,continue,goto

  • break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch选择语句中使用)

 package com.dlq.struct;
 
 public class BreakDemo {
     public static void main(String[] args) {
         int i=0;
         while (i<100){
             i++;
             System.out.println(i);
             if (i == 30) {
                 break;
            }
        }
         System.out.println("此时程序仍在运行!");
    }
 }
  • continue语句在循环语句中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

 package com.dlq.struct;
 
 public class ContinueDemo {
     public static void main(String[] args) {
         int i=0;
         while (i<100){
             i++;
             if (i%10==0){
                 System.out.println();
                 continue;//每当i为10的倍数时,跳过下面的输出语句,即到此处就 终止本次循环
            }
             System.out.print(i + "\t");
 //           1   2 3 4 5 6 7 8 9
 //           11   12 13 14 15 16 17 18 19
 //           21   22 23 24 25 26 27 28 29
 //           31   32 33 34 35 36 37 38 39
 //           41   42 43 44 45 46 47 48 49
 //           51   52 53 54 55 56 57 58 59
 //           61   62 63 64 65 66 67 68 69
 //           71   72 73 74 75 76 77 78 79
 //           81   82 83 84 85 86 87 88 89
 //           91   92 93 94 95 96 97 98 99
        }
         System.out.println("=======================");
         int j = 0;
         while (j<100) {
             j++;
             if (j % 10 == 0) {
                 System.out.println();
                 break;//到此处就跳出循环体,可见break比continue更狠
            }
             System.out.print(j + "\t");
             //1     2 3 4 5 6 7 8 9
        }
    }
 }
  • 关于goto关键字

    • 关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在语言中得到正式使用。Java没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子——带标签的break和continue。

    • "标签"是指后面跟着一个冒号的标识符,例如:lable:

    • 对Java来说唯一用到标签的地方是在循环语句之间。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。

     package com.dlq.struct;
     
     public class LableDemo {
         public static void main(String[] args) {
             //打印101~150之间的质数
             //质数 是指 在 大于1的自然数 中,除了1和它本身以外不再有其他因数的自然数。
     
             //不建议使用
             outer:for (int i = 101; i < 150; i++) {
                 for (int j = 2; j < (i/2); j++) {//从1开始没有意义
                     //(i/2)意为一个数的一半乘以2才能得到这个数,超过一半则需要乘以一个分数才行,当作规律记住即可
                     if (i % j == 0) {//从2开始尝试能否被整除
                         continue outer;
                    }
                     //if后面不加{}时,就近原则,只控制第一句
                }
                 System.out.print(i+"\t");
            }
             //质数的输出   当作一个知识点记住就好
        }
     }
  •  

posted @ 2022-03-12 20:44  小璐_哈基米  阅读(20)  评论(0编辑  收藏  举报