Java流程控制4:break,continue语句

break continue语句

二者区别

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

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

break语句

while语句中的break

代码示例
public class amy08 {public  static void main(String[] args) {
  int i=0;
  while (i<100){
             i++;
             System.out.println(i);
              if(i==30){
                  break;
                }
           }
    }
  }

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kE3YoUTa-1632646851637)(D:\JAVA学习图片\Java流程控制\028.png)]

注意事项

break只是用于强行退出循环,不执行循环中剩余的语句。但是循环体之后的语句还是会执行的。

public class amy08 {public  static void main(String[] args) {
  int i=0;
  while (i<100){
             i++;
             System.out.println(i);
              if(i==30){
                  break;
                }
           }
  System.out.println('A');
    }
  }

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UJFWQWGm-1632646851638)(D:\JAVA学习图片\Java流程控制\029.png)]

switch语句中的break


continue语句

代码示例
public class amy08 {public  static void main(String[] args) {
     int i=0;
      while (i<100){
          i++;
          if(i%10==0){
              System.out.println();
          }
          System.out.println(i);
        }
    }
  }

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OZ8XA5Rf-1632646851639)(D:\JAVA学习图片\Java流程控制\030.png)]



public class amy08 {public  static void main(String[] args) {
     int i=0;
      while (i<100){
          i++;
          if(i%10==0){
              System.out.println();
              continue;
          }
          System.out.print(i);
        }
    }
  }

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aBvWv8sr-1632646851639)(D:\JAVA学习图片\Java流程控制\031.png)]

发现并没有输出10

原因正是因为continue语句结束了本次循环,执行了下一次循环

所有没有输出10

关于goto关键字

  • goto关键字很早就在程序设计语言中出现。尽管goto仍然是Java的一个保留字。但并没有在语言中得到正式使用;Java没有goto的。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子—带标签的break和continue.
  • “标签”是指后面跟一个冒号的标识符,例如label:
  • 对Java来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于,break和continue关键字通常只中断当前循环,但若随着同标签使用,它们就会中断到存在标签的地方。

练习题:打印101-150之间的质数。

public class amy08 {public  static void main(String[] args) {
    int count=0;
    outer:for (int i=101;i<150;i++){
        for (int j=2;j<i/2;j++){
            if (i%j==0){
                continue outer;
            }
        }

   System.out.println(i+"");
        }
    }
  }

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IImDjsf3-1632646851641)(D:\JAVA学习图片\Java流程控制\032.png)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值