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 跳出多重循环
		
今天学到了如何跳出多重循环
 
随机推荐
- SnowFlake学习
			
分布式系统中生成全局唯一且趋势递增ID UUID - 太长,无序,数据库插入分裂性能不行 利用数据库自增序列,等步长生成 - 依赖数据库 SnowFlake:使用见下图 抄代码 https://www ...
 - linux随机字符串
			
pwgen -s 32 1 openssl passwd -salt openssl rand -base64 32 openssl rand -hex 100
 - Oracle使用学习笔记(二)_Sql语句
			
一.Sql语句的分类 数据操作语言,简称DML(data manipulation language),如增加,删除,修改,查询数据等 数据定义语言,简称DDL(data defination lan ...
 - MyEclipse2014破解版安装教程
			
下载安装包和破解程序脚本 1.下载地址 链接:https://pan.baidu.com/s/1XuMweEz602zcoGqwPb2xTA 提取码:idsx 两个文件:myeclipse-pro- ...
 - Java开发中的23种设计模式(转)
			
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
 - hadoop更改保存路径后,批量重启不能启动datanode(或者format以后不能启动datanode)
			
这是因为更改文件后,所有的子节点的core-site.xml并没有一致,所以使用start-dfs.sh的时候导致机器起不起来. 修改slave(datanode)节点的core-site.xml就可 ...
 - 基于WebGL架构的3D可视化平台ThingJS-搭建设备管理系统
			
国内高层建筑不断兴建,它的特点是高度高.层数多.体量大.面积可达几万平方米到几十万平方米.这些建筑都是一个个庞然大物,高高的耸立在地面上,这是它的外观,而随之带来的内部的建筑设备也是大量的.为了提高设 ...
 - centos7 安装memcached
			
(1)编译安装Memcached 1.51.1 安装依赖包libevent# yum -y install epel-release# yum -y install libevent libevent ...
 - mysql判断表里面一个逗号分隔的字符串是否包含单个字符串、查询结果用逗号分隔
			
1.mysql判断表里面一个逗号分隔的字符串是否包含单个字符串 : FIND_IN_SET select * from tablename where FIND_IN_SET(传的参数,匹配字段) 例 ...
 - X1226 和 AT24C16 地址冲突问题
			
这几天开发eeprom功能的时候,利用单片机的I2C接口访问AT24C16.遇到一个问题: 发现AT24C16的最后一页写不进去.表现为写任何值后,再读取都是0. 经过几天的排查,发现是应为在I2C总 ...