写在前面:本人是借助两本参考书自学的,其中部分例子和语句均是来自参考书。第一本:《Java 编程指南》,[美] Budi Kurniawan 著,闫斌 贺莲 译。第二本:《第一行代码 Java 视频讲解版》,李兴华 马云涛 著

break语句有两种情况:

1、break

break 语句用来结束其所在的最内层的封闭的do、while、for或者switch语句,在其他地方使用break 会产生编译错误。
简单例子1(while):

public class firstestbre1 {public  static  void  main(String[]  args)  {int x = 0;while (3 < 5 ) {    // 3 < 5 恒为true,故不会自行结束循环System.out.println(x);x ++;if ( x >= 3 )  {   // 设定循环结束条件break;    //当 x >= 3 时,结束while循环}}}
}

运行结果为:

0
1
2

注意:上述代码中 x ++放在 if 语句前和放在 if 语句后输出不同,放在 if 语句后,“ 3 ” 也会被输出。

例子2(for):

public class firstestbre2 {public  static  void  main(String[]  args)  {int x = 21;for  (  ;  x < 25 ; x ++ )  {for(int y = 1  ;  y < 4 ; y ++ )  {if  (  x  <=  23)  {System.out.println(x + "+" +y ); break;}}break;}}
}

两个 break 语句使得两个 for 语句均只循环一次,运行结果为:

21+1

当删除第8行break语句、保留第11行break语句时,第一个for 语句是break所在的最内层语句,故第一个 for 语句只能循环一次,第二个 for 语句可以正常循环三次,运行结果是:

21+1
21+2
21+3

当保留第8行break语句、删除第11行break语句时,第二个for 语句是break所在的最内层语句,故第二个 for 语句只能循环一次,第一个 for 语句可以循环三次,运行结果是:

21+1
22+1
23+1

当同时删除第8行和第11行break语句语句时,两个 for 语句都可以正常循环三次,运行结果是:

21+1
21+2
21+3
22+1
22+2
22+3
23+1
23+2
23+3

2、break + 标签

标签的作用是标记语句块,“ break + 标签 ”代表跳出标签所代表的语句块,由于break只能在do、while、for和switch语句中使用,故break后跟的标签必须是标记这些语句块的,不然会出错,先介绍简单例子:

public class firstest {public static void main(String[] args) {//    输出个位数相加和为15的组合label_dem01:    //标记第一个 for 语句        for (int i = 0; i < 10; i++) {            label_dem02:  //标记第二个 for 语句                for (int k = 0; k < 10; k++) {          if (k + i == 15) {                   //如果相加为15,则输出                              System.out.println(i + "+" + k);      //输出当前 i 和 k 的值              break label_dem01;                 //返回第一个 for 语句}}}}
}

这段代码是输出个位数相加和为 15 的组合,“ break + 标签 ”决定了当出现符合条件的组合时结束标签标记的循环。
上述代码第十行,label_dem01标签标记了第一个for语句,即跳出最外层循环,故输出结果为:

6+9

当第十行标签改为label_dem02,即标记了第二个 for语句时,

public class firstest {public static void main(String[] args) {//    输出个位数相加和为15的组合label_dem01:    //标记第一个 for 语句        for (int i = 0; i < 10; i++) {            label_dem02:  //标记第二个 for 语句                for (int k = 0; k < 10; k++) {          if (k + i == 15) {                   //判断条件                            System.out.println(i + "+" + k);      //输出当前 i 和 k 的值              break label_dem02;                 //返回第一个 for 语句}}}}
}

只跳出内层循环,外层循环仍可继续,故输出结果为:

6+9
7+8
8+7
9+6

切记:标签后必须立即跟do、while、for、witch语句,不然标签不能标记这些语句。

例如下面这两张图片:back1 标签并没有立即跟 for 语句,故 第13行 “ break + back1 ”出错;标签 back2 后面立即跟了 for 语句,故 “ break + back2 ”不会出错。

Java学习篇八——break语句相关推荐

  1. Java学习篇九——continue语句

    写在前面:本人是借助两本参考书自学的,其中部分例子和语句均是来自参考书.第一本:<Java 编程指南>,[美] Budi Kurniawan 著,闫斌 贺莲 译.第二本:<第一行代码 ...

  2. Java学习篇五——分支(选择)结构之switch语句及其中的break作用

    写在前面:本人是借助两本参考书自学的,其中部分例子和语句均是来自参考书.第一本:<Java 编程指南>,[美] Budi Kurniawan 著,闫斌 贺莲 译.第二本:<第一行代码 ...

  3. Java基础篇:switch语句

    switch语句是Java的多路分支语句.它提供了一种基于一个表达式的值来使程序执行不同部分的简单方法.因此,它提供了一个比一系列if-else-if语句更好的选择.switch语句的通用形式如下: ...

  4. Java学习日志(八): 可变参数,debug断点调试,静态导入,集合嵌套

    JavaEE学习日志持续更新----> 必看!JavaEE学习路线(文章总汇) Java学习日志(八) 可变参数 debug断点调试 静态导入 集合嵌套 可变参数 JDK1.5之后的新特性 作用 ...

  5. java提高篇(八)----详解内部类

    可以将一个类的定义放在另一个类的定义内部,这就是内部类. 内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人到现在都没有怎么使用过内部类,对内部类也只是略知一二). 第一次见面 内部类我们从外面 ...

  6. Java基础篇:循环语句之while语句

    Java的循环语句有for,while和 do-while.这些语句创造了我们通常所称的循环(loops).你可能知道,一个循环重复执行同一套指令直到一个结束条件出现.你将看到,Java有适合任何编程 ...

  7. Java学习篇七——循环结构之 for 语句

    写在前面:本人是借助两本参考书自学的,其中部分例子和语句均是来自参考书.第一本:<Java 编程指南>,[美] Budi Kurniawan 著,闫斌 贺莲 译.第二本:<第一行代码 ...

  8. Java学习篇四——分支(选择)结构之 if 语句块

    写在前面:本人是借助两本参考书自学的,其中部分例子和语句均是来自参考书.第一本:<Java 编程指南>,[美] Budi Kurniawan 著,闫斌 贺莲 译.第二本:<第一行代码 ...

  9. Java学习篇六——循环结构之while语句

    写在前面:本人是借助两本参考书自学的,其中部分例子和语句均是来自参考书.第一本:<Java 编程指南>,[美] Budi Kurniawan 著,闫斌 贺莲 译.第二本:<第一行代码 ...

最新文章

  1. OneHotEncoder独热编码和 LabelEncoder标签编码——机器学习
  2. fastjson判空_fastjson JSON 对象为空保留null
  3. 保存图片时出现800700de错误的解决方法
  4. 【项目管理】接手一支技术团队,你会做些哪些事?
  5. ubantu18.04使用docker部署mysql5.7及在宿主机登录容器内mysql
  6. Python中常见的语法糖
  7. max导出fbx设置_真3D虚拟偶像制作教程——虚拟偶像人物模型导出前的处理
  8. POJ1887 DP水题儿
  9. Python风格总结:数据结构
  10. 分拆素数和(杭电2098)
  11. #上位机开发大师之路# 串口控制模块开发
  12. Bootstrap-分页插件Paginator
  13. C语言编程轰炸,利用C语言编写一个数字炸弹小游戏
  14. 北航计算机组成原理课程设计-2021秋 PreProject-MIPS-MIPS 汇编程序设计
  15. Ubuntu 16.04 (Ubuntu18.04 也可以用)远程桌面(使用win10远程桌面客户端链接)和 使用vncveiwer链接的配置
  16. 修己,以清心为要。涉世,以慎言为先。
  17. 《管理者必读12篇》如何购买
  18. 已解决IndexError: list index out of range
  19. uva 10057 - A mid-summer night's dream.
  20. macos 13 Ventura beta4(22A5311f) 官方原版dmg镜像

热门文章

  1. [工具使用]-利用latex管理创建自己的ACM模板
  2. Web3.0,区块链后花园的姹紫嫣红
  3. 「Adobe国际认证」优秀的设计团队,需要了解的 9 种“设计类型“
  4. 使用Coding托管代码
  5. 7月国内女性时尚行业报告:男性访客降至53.37%
  6. HTML 文件中的 DOCTYPE 是什么作用?
  7. UITextView,UILable 控制行高
  8. C++菜鸡笔记--变量与基本类型
  9. gw在计算机网络里面_计算机网络连接设备有哪些
  10. 获取更全面的软文写作攻略