跳出多层循环的简单方法(Java版)
本文为原创,如需转载,请注明作者和出处,谢谢!
在Java程序中可能使用多层循环来处理复杂的逻辑。但如果要从最内层循环跳出最外层循环是比较麻烦。下面的代码是一个三层循环的例子:
String[] arr= new String[]{"a", "b", "c"};
for(String s: arr)
{
for(String ss: arr)
{
for(String sss: arr)
{
System.out.println(sss);
}
}
}
如果要从第三层循环跳出第一层循环,可以通过设置标志的方法来实现,但这比较麻烦。当然,如何使用过C或C++的开发人员可以想到使用goto语句,如下面的代码所示:
String[] arr= new String[]{"a", "b", "c"};
for(String s: arr)
{
for(String ss: arr)
{
for(String sss: arr)
{
System.out.println(sss);
goto label;
}
}
}
label:
虽然上面的代码看似可行,不过Java虽然还有goto关键字,但这个关键字却不能使用(Java编译器会抛出异常)。不过Java还提供了另外一种类似goto的解决方案,这就是break n和continue n。其中n表示标签名。只是在Java中只能在for、while、do...while三种循环语句前面定义,标签与循环体之间不能有任何其他的语句,如下面的标签定义是合法的:
label: // 定义标签
for(int i = 0; i < 10; i++)
{
... ...
}
下面的标签定义是不合法的:
label: // 定义标签
System.out.println("abcd"); // 此处不能有任何Java语句
for(int i = 0; i < 10; i++)
{
... ...
}
使用break n跳出多层循环的代码如下:
labelA:
for(String s: arr)
{
for(String ss: arr)
{
for(String sss: arr)
{
System.out.print(sss);
break labelA;
}
}
}
上面的代码只输出了一个a,在第三层使用break labelA可以理解为如下的代码形式(虽然这段代码并不符合Java语法规则):
for(String s: arr)
{
for(String ss: arr)
{
for(String sss: arr)
{
System.out.print(sss);
goto labelA;
}
}
}
labelA:
当然,还可以使用continue labelA继续执行某一层的循环,代码如下:
labelA:
for(String s: arr)
{
for(String ss: arr)
{
for(String sss: arr)
{
System.out.print(sss);
continue labelA;
}
}
}
上面的代码输出“aaa”,读者可以将上面的代码理解为如下的形式(只是代码形式,并不符合Java语法规则):
for(String s: arr)
{
for(String ss: arr)
{
for(String sss: arr)
{
System.out.print(sss);
goto labelA;
}
}
labelA:
}
当然,也可以按同样的方法跳出或继续第二层循环,代码如下:
for(String s: arr)
{
labelA:
for(String ss: arr)
{
for(String sss: arr)
{
System.out.print(sss);
break labelA;
}
}
}
上面的代码输出“aaa”。
for(String s: arr)
{
labelA:
for(String ss: arr)
{
for(String sss: arr)
{
System.out.print(sss);
continue labelA;
}
}
}
上面的代码输出“aaaaaaaaa”。
分享到:
相关推荐
java跳出循环break;return;continue使用 . java跳出循环break;return;continue使用 . java跳出循环break;return;continue使用
Delphi 跳出循环的几种方法Delphi 跳出循环的几种方法 我常用的几种方法 希望大家看看 那个是大家常用的而且比较不错的 以下是引用片段: Delphi中break,exit,abort跳出循环的比较 exit: 退出函数体 abort: ...
主要介绍了 Java 跳出递归循环问题解决办法的相关资料,需要的朋友可以参考下
易语言跳出循环命令例程源码,跳出循环命令例程
主要介绍了js for等循环 跳出多层循环,终止循环执行的方法,需要的朋友可以参考下
结合实际生活,有助于初学者进一步了解JAVA的IF循环语句
js跳出多重循环 ,传统的break 和continue的意思,continue的意思是忽略此次循环,开始下次,着重说明break
当只有内层循环的循环条件为 false 时,才会完全跳出内层循环,才可以结束外层循环的当次循环,开始下一次循环。 示例1:编程实现输出星型图案。 嵌套循环使用 public class StarPattern { pub
Write a Java program called BreakLoop.java that uses a for loop with the variable "count" and count 1 to 10.. Display "count=<count>" each time you loop through. Break out of the loop at 5. At the end...
一、jquery each循环,要实现break和continue的功能: break—-用return false; continue –用return ture; 二、jquery怎么跳出当前的each循环 ...——跳出当前循环,进入下一个循环;相当于 javascript 中的 continue
在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环。例如: ok: for(int i=0;i<10;i++) { for(int j=0;j<10;j++) ...
资源介绍:。易语言跳出循环命令例程源码。资源作者:。@易友。资源下载:。
假设当我们只需知道某个数组有没有某个属性,如果找到了直接跳出循环,省略掉剩下的循环步骤是较优化的操作,但是for中是可以利用break跳出循环,但break在forEach中无效,那么forEach能不能跳出循环呢?当然是可以...
js中Array.forEach跳出循环的方法实例.docx
在Java中,for循环是一种常用的迭代结构,用于重复执行相同的代码块。 for循环由三个部分组成: 1、初始化表达式:在循环开始之前执行一次,通常用于初始化循环变量。 2、条件表达式:在每次迭代之前进行判断,如果...
在java里面,我们知道有goto这个关键字,但是实际却没有啥作用,这让我们不像在c/c++里面能够随便让程序跳到那去执行,而break只能跳出当前的一个循环语句,如果要跳出多个循环体那么该怎么办呢。 我们可以这样...
while循环 do while循环 for循环 流程控制,break:终止,跳出switch、循环条件;continue:结束本次,进入下一次循环(案例)
今天小编就为大家分享一篇关于Java 8跳过本次循环,继续执行以及跳出循环,终止循环的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
主要介绍了Java跳出多重嵌套循环,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧