04-break、continue与goto

break、continue、goto


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

     
     1 package xiaoka.struct;
     2  3  public class BreakDemo01 {
     4      public static void main(String[] args) {
     5          int i = 0;
     6          while (i<100){
     7              i++;
     8              System.out.println(i);
     9              if (i==22){
    10                  break;
    11              }
    12          }
    13          System.out.println("我只是跳出循环而已");
    14      }
    15  }

     

  • continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环中尚未执行的语句,接着进行下一次是否执行的判定。

     
     1 package xiaoka.struct;
     2  3  public class ContinueDemo {
     4      public static void main(String[] args) {
     5          int i = 0;
     6          while (i<100){
     7              i++;
     8              if (i%10==0){
     9                  System.out.println();
    10                  continue;
    11              }
    12              System.out.println(i);
    13          }
    14          
    15          //break在任何循环语句的主体部分,均可用break 控制循环的流程
    16          //break 用于强行退出循环,不执行循环中剩余的语句.(break语句也可在switch语句中用到)
    17          
    18          //continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句.接着进行下一次是否执行循环的判定.
    19      }
    20  }

     

     


  • 关于goto 关键字

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

    • “标签”是指后面跟一个冒号的标识符,例如:label:

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

       
       1 package xiaoka.struct;
       2  3  public class LabelDemo {
       4      public static void main(String[] args) {
       5          // 打印101-150 之间所有的质数
       6          // 质数是指在大于1的自然数中,除了1和他本身之外不再有其他因数的自然数
       7  8          int count = 0;
       9 10          //不建议使用!!!
      11          outer:for (int i=101;i<150;i++){
      12              for (int j=2;j<i/2;j++){
      13                  if (i%j==0){
      14                      continue outer;
      15                  }
      16              }
      17              System.out.print(i+" ");
      18          }
      19      }
      20  }

       

练习

 
 1 package xiaoka.struct;
 2  3  public class TestDemo {
 4      public static void main(String[] args) {
 5          //打印三角形  5行
 6  7          for (int i = 1; i <= 5; i++) {
 8              for (int j = 5; j >= i; j--) {
 9                  System.out.print(" ");
10              }
11              for (int j = 1; j <= i; j++) {
12                  System.out.print("*");
13              }
14              for (int j = 1; j < i; j++) {
15                  System.out.print("*");
16              }
17              System.out.println();
18          }
19          
20          //灵活运用debug!!!
21      }
22  }

 

 

posted @ 2021-03-27 15:41  小carlos  阅读(67)  评论(0编辑  收藏  举报