java中如何使用break跳出多重循环
java 中已知的三种跳出多重循环的方式:
- System.out.println("---------java中跳出多重循环的三种方式:---------");
- System.out.println("---------第一种,使用带有标号的的break语句---------");
- String a1 = "";
- String b1 = "";
- here:
- for (int i = 1; i <= 4; i++) {
- a1 = "外层循环第"+i+"层";
- for (int j = 1; j <= 4; j++) {
- b1 = "内层循环第"+j+"层";
- if (2 == j & 2 == i) {
- break here;
- }
- }
- }
- System.out.println(a1+b1);
- System.out.println("---------第二种,外层的循环条件收到内层的代码控制限制---------");
- String a2 = "";
- String b2 = "";
- Boolean state = true;
- for (int i = 1; i <= 4 && state; i++) {
- a2 = "外层循环第"+i+"层";
- for (int j = 1; j <= 4 && state; j++) {
- b2 = "内层循环第"+j+"层";
- if (2 == j & 2 == i) {
- state = false;
- }
- }
- }
- System.out.println(a2+b2);
- System.out.println("---------第三种,使用try/catch强制跳出循环---------");
- String a3 = "";
- String b3 = "";
- try {
- for (int i = 1; i <= 3; i++) {
- a3 = "外层循环第"+i+"层";
- for (int j = 1; j <= 3; j++) {
- b3 = "内层循环第"+j+"层";
- if (2 == j & 2 == i) {
- throw new Exception();
- }
- }
- }
- } catch (Exception e) {
- System.out.println(a3+b3);
- }
- System.out.println("---------java中跳出多重循环的两种方式---------");
最后输出结果如下:
总结: 其实在工作中用到的最多的也最可行的是使用第一种方式:在java中,break作为”goto“使用,说明:break语句除了在switch语句和循环中使用之外,它还能作为goto 语句的一种“文明”形式来使用。Java 中没有 goto 语句,因为goto 语句提供了一种改变程序运行流程的非结构化方式。这通常使程序难以理解和难于维护。它也阻止了某些编译器的优化。但是,有些地方goto 语句对于构造流程控制是有用的而且是合法的。例如,从嵌套很深的循环中退出时, goto 语句就很有帮助。因此,Java 定义了break 语句的一种扩展形式来处理这种情况。通过使用这种形式的break,你可以终止一个或者几个代码块。这些代码块不必是一个循环或一个switch语句的一部分,它们可以是任何的块。而且,由于这种形式的break 语句带有标签,你可以明确指定执行从何处重新开始。你将看到,break带给你的是goto 的益处,并舍弃了goto 语句带来的麻烦(引用);
需要注意的是:Java中的标签就是一个紧跟着“:”的标识符。与其他语言不通,Java语言的标签必须放在循环前面才有作用。就不要想着能像传送门有一样随心所欲的跳了
java中如何使用break跳出多重循环的更多相关文章
- break跳出多重循环
大家都知道break只能跳出当前的一个循环语句,如果碰到要跳出多个循环体,那么我们就该在循环体开头设置一个标志位,然后使用带此标志位的break语句跳出多重循环 jump: ;i<;i++){ ...
- JavaScript break跳出多重循环
多重循环在编程中会经常遇到,那么在JavaScript中如何指定跳出那层的循环呢.其实这也是break的一个用法,下面是一个不错的例子,来自<JavaScript权威指南>,可以参考下: ...
- javascript: break跳出多重循环以及退出each循环
先来看一个小例子: <html> <body> <script type="text/javascript"> for(j=0;j<2;j ...
- Java之跳出多重循环
在java里,想要跳出多重循环,有两种方法 1.在循环语句前设置一个标记,然后使用带有该标记的break语句跳出该循环 public static void main(String args[]) { ...
- 关于Java 中跳出多重循环
前言 环境:window10 JDK 1.8 应用场景:在多个for循环或while循环中,直接跳到最外层的循环外面,而不是需要层层退出来. 使用: 使用一个标签label(也可以是其他单词,不能是关 ...
- C/C++——C语言跳出多重循环方法
c语言的break语句只能跳出离它最近的一层循环,但是我们有时候需要跳出多层循环,以下有几种跳出多重循环的方法: 1. 使用goto ; i < MAX1; i++) { ; j < MA ...
- java中 label 配合 break continue 使用方法
转 https://www.jianshu.com/p/7954b61bc6ee java中 label 配合 break continue 使用的其实是比较少的. 这种做法在业务代码中比较少见. 在 ...
- Python 如何跳出多重循环
Python 如何跳出多重循环 抛异常 return
- JS 跳出多重循环
今天学到了如何跳出多重循环
随机推荐
- WPF 主窗口关闭时结束所有相关线程
程序主窗口的 Closed 事件中添加代码: Process.GetCurrentProcess().Kill();
- c# System.Console
System.Console类公开了和操作控制台相关的有用的静态字段和静态方法.下面是System.Console中一些较为重要的方法. public static void Beep()该方法播放蜂 ...
- python day04笔记总结
2019.4.1 S21 day04笔记总结 昨日内容补充 1.解释器/编译器 1.解释型语言.编译型语言 2.解释型:写完代码后提交给解释器,解释器将代码一行行执行.(边接收边解释/实时解释) 常用 ...
- MySQL编码不一致导致查询结果为空
升级数据库后(5.1到8.0),发现一个奇怪的问题,某些页面在升级前可以正常查询,但升级后什么也查不出来了,有时候还会查出错误的结果.经过一整天的排查,终于发现由两个原因导致,现记录如下. 第一是数据 ...
- Linux中Nginx安装教程
Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性: 在连接高并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的 ...
- step_by_step_记录一个javascript字符串处理问题
记录一个javascript字符串处理的问题 这一天下班,技术QQ群里的大神提出了一个问题,带着问题去思考. ? '---9890.999008-555555-55555555----' 对于这样的字 ...
- 对TCP三次握手的思考
从第一次了解到TCP的连接方式到现在有一年半了,但好像一直没有把三次握手的由来弄透彻,解释上总有一些瑕疵在,现在来说说昨晚的思考. 对于一个通信链路,由于种种原因发送方发送的消息未必能传达到接收方,所 ...
- 数据结构python编程总结
大数据.空间限制 布隆过滤器 使用很少的空间就可以将准确率做到很高的程度(网页黑名单系统.垃圾邮件过滤系统.爬虫的网址判重系统等) 有一定的失误率 单个样本的大小不影响布隆过滤器的大小 n个输入.k个 ...
- 20175126《Java程序设计》第八周学习总结
# 20175126 2016-2017-2 <Java程序设计>第八周学习总结 ## 教材学习内容总结 - 本周学习方式主要为手动敲代码并理解内容学习. - 学习内容为教材第十五章,本章 ...
- docker制作镜像
使用Dockerfile脚本创建jdk1.8镜像 新建jdk目录:(-p表示需要父目录,不然就会出错) mkdir -p /usr/local/dockerjdk1. 将jdk的压缩文件复制到上面的路 ...