所有流行的编程语言中都有循环语句。JAVA 中采用的循环语句与C语言中的循环语句相似,主要有 while、do-while 和 for!
那么在某些时候需要在某种条件出现时强行终止循环,而不是等到循环条件为 false 时才退出循环。
这个时候就可以使用 break 来完成这个功能!
break 用于完全结束一个循环,跳出循环体。不管是哪种循环,一旦在循环体中遇到 break,系统将完全结束该循环,开始执行循环之后的代码。
在Java中,break 语句有 3 种作用:在 switch 语句中终止一个语句序列、使用 break 语句直接强行退出循环和使用 break 语句实现 goto 的功能。
使用 break 语句直接强行退出循环可以使用 break 语句强行退出循环,忽略循环体中的任何其他语句和循环的条件判断。在循环中遇到 break 语句时,循环被终止,在循环后面的语句重新开始。
例1:小明参加了一个 1000 米的长跑比赛,在 100 米的跑道上,他循环地跑着,每跑一圈,剩余路程就会减少 100 米,要跑的圈数就是循环的次数。但是,在每跑完一圈时,教练会问他是否要坚持下去,如果回答 y,则继续跑,否则表示放弃。
public static void main(String[] args) { Scanner input = new Scanner(System.in); // 定义变量存储小明的回答 String answer = ""; // 一圈100米,1000米为10圈,即为循环的次数 for (int i = 0; i < 10; i++) { System.out.println("跑的是第" + (i + 1) + "圈"); System.out.println("还能坚持吗?"); // 获取小明的回答 answer = input.next(); // 判断小明的回答是否为y?如果不是,则放弃,跳出循环 if (!answer.equals("y")) { System.out.println("放弃"); break; } // 循环之后的代码 System.out.println("加油!继续!"); } }
该程序运行效果如下:
跑的是第1圈 还能坚持吗? y 加油!继续! 跑的是第2圈 还能坚持吗? n 放弃
尽管 for 循环被设计为从 0 执行到 10,但是当小明的回答不是 y 时,break 语句终止了程序的循环,继续执行循环体外的代码,输出“加油!继续!”。
注意:一个循环中可以有一个以上的 break 语句,但是过多的 break 语句会破坏代码结构。switch 循环语句中的 break 仅影响 switch 语句,不会影响循环。
使用 break 语句实现 goto 的功能有时候,在嵌套很深的循环语句中会发生一些不可预料的事情。此时可能更加希望跳到嵌套的所有循环语句之外。通过添加一些额外的条件判断实现各层循环的检测很不方便。
break 语句可以实现 goto 的功能,并且 Java 定义了 break 语句的一种扩展形式来处理退出嵌套很深的循环这个问题。
通过使用扩展的 break 语句,可以终止执行一个或者几个任意代码块,这些代码块不必是一个循环或一个 switch 语句的一部分。同时这种扩展的 break 语句带有标签,可以明确指定从何处重新开始执行。
break 除了具有 goto 退出深层循环嵌套作用外,还保留了一些程序结构化的特性。
标签 break 语句的通用格式如下:
break label;
label 是标识代码块的标签。当执行块,但是不能使用 break 语句将控制权传递到不包含 break 语句的代码块。
用标签(label)可以指定一个代码块,标签可以是任何合法有效的 Java 标识符,后跟一个冒号。加上标签的代码块可以作为 break 语句的对象,使程序在加标签的块的结尾继续执行。
注意:通常紧跟 break 之后的标签,必须在 break 所在循环的外层循环之前定义才有意义。
在 switch 语句中终止一个语句序列在 switch 语句中终止一个语句序列,就是在每个 case 子句块的最后添加语句“break;”
例 2:在节目的抽奖环节里,节目组会根据每位嘉宾的座位号来进行抽奖游戏,根据不同的号码来决定奖项的大小。使用 switch 语句编写 Java 程序来完成奖项分配,其实现代码如下。
public static void main(String[] args) { System.out.println("请输入座位号码:"); Scanner sc = new Scanner(System.in); int num = sc.nextInt(); switch (num) { case 8: System.out.println("恭喜你,获得了三等奖!"); break; case 88: System.out.println("恭喜你,获得了二等奖!"); break; case 888: System.out.println("恭喜你,获得了一等奖!"); break; default: System.out.println("谢谢参与!"); break; } }
当用户输入的号码为 888 时,获取的 num 值为 888,则与第三个 case 后的值匹配,执行它后面的语句,输出“恭喜你,获得了一等奖!”,然后执行 break 语句,跳出整个 switch 结构。如果输入的号码与 case 中的值都不匹配,则执行 default 后的语句。
程序执行结果如下:
请输入座位号码: 888 恭喜你,获得了一等奖! 请输入座位号码: 88 恭喜你,获得了二等奖! 请输入座位号码: 66 谢谢参与!
Java break语句!强行终止循环详解大概就是这样了,大家理解了吗?如果觉得文字枯燥难懂的话可以看视频学习理解,更容易掌握!!
Java300集零基础适合初学者视频今天主要就给大家分享这些了,有其他意见和想法的朋友可以留言讨论哦,我们一起学习,一起进步!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)