Java跳出多重嵌套循环

java里面,我们知道有goto这个关键字,但是实际却没有啥作用,这就让我们不像在c/c++里面能够随便让程序跳到那去执行,而break只能跳出当前的一个循环语句,如果要跳出多个循环体那么该怎么办呢。

  我们可以这样解决:

  我们可以在循环体开头设置一个标志位,也就是设置一个标记,然后使用带此标号的break语句跳出多重循环。


public class BreaklFor {

public static void main(String args[]){

OK:                    //设置一个标记 使用带此标记的break语句跳出多重循环体

for(int i=1;i<100;i++){   //让i循环99次

for(int j=1;j<=i;j++){

if(i==10){

break OK ;

}

System.out.print(i + "*" + j + "=" + i*j) ;

System.out.print(" ") ;

}

System.out.println() ;

}

}

}

  运行结果当然是打印九九乘法表。当i=10时跳出了循环。

  当然还有另外一种方法,这也是设置一个boolean值的标记位,在for循环中使用判断是否继续循环来达到目的。


public class BreaklFor {

public static void main(String args[]) {

int array[][] = { { 5, 7, 6, 4, 9 }, { 1, 2, 8, 3, 2 } };

boolean flag = false;

for (int i = 0; i < array.length && !flag; i++) {  //当flag为true时跳出循环

for (int j = 0; j < array[i].length; j++) {

if (array[i][j] == 8) {

flag = true;

break;

}

}

}

System.out.println(flag);

}

}

  通过设置标志位,实现里成的代码控制外层的的循环条件。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-11-17 13:44:46

Java跳出多重嵌套循环的相关文章

java跳出嵌套循环的处理方法

问题描述 java跳出嵌套循环的处理方法 关于java中跳出嵌套循环,目前有两种说法 1.使用标签 ok: for(int i=0;i<10;i++) { for(int j=0;j<10;j++) { if(j == 2) break ok; } } 2.内层循环中控制外层循环的条件 boolean f = true ; for(int i=0;i<10&&f;i++) { for(int j=0;j<10;j++) { if(j == 2) { f=false;

ThinkPHP学习(四)volist标签高级应用之多重嵌套循环

Action代码: public function index(){ $prod = I("get.prod_en"); $id = I("get.id", 0, "int"); if ($prod == ""){ $serviceProduct = array();//多重循环遍历的数组 //数据保存在两张表中,这里通过循环初始化$serviceProduct数组 $service = M("product_cla

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); } } } 如果要从第三层循环跳出第一层循环,可以

javaScript如何跳出多重循环break、continue_javascript技巧

先来说说break和continue之间的区别 摘自JavaScript高级程序设计 for(var i=0;i<10;i++){ if(i>5){ break; } } console.log(i); ---6  •当i=5和10的时候,会执行到break,并退出循环 for(var i=1;i<10;i++){ if(i>5){ continue; } num++; } console.log(num); ---4 var num=0; for(var i=1;i<10;

java 跳出 if

本来想测试一下.while里面用两个if嵌套判断的话,用break是跳出到什么地方. 代码如下   1 public class testIFbreak { 2 public static void main(String[] args) { 3 int iLoopCount=0; 4 while (true) { 5 ++iLoopCount; 6 if (true) { 7 if (iLoopCount==2) { 8 System.out.println("内嵌的if\tiLoopCoun

java 跳出进程的方法

问题描述 假设有俩个类,类A,类B.A里有个方法c(),B里有个方法d().A.c()里调用B.d()publicvoidc(){Bb=newB();b.d();..............}b.d()里怎么才能实现控制是否跳出A.c()而不执行后面的代码,也就是省略号部分. 解决方案 解决方案二:在d中调用exit方法或者抛异常解决方案三:总之你标题问题的和你描述不怎么一致,也不知道我的理解对不对.你可以让d()方法有个返回值.比如设成boolean类型,然后c()中加个判断if(b.d())

PHP中使用break跳出多重循环代码实例_php技巧

复制代码 代码如下: $array = array(1,2,3,4,5,6);  for($i=0;$i<10;$i++){  foreach($array as $key)  {    echo $key;    if($key==2){        break 2;    }  }  }

JAVA相关基础知识(6)

101.java中会存在内存泄漏吗,请简单描述.会.如:int i,i2; return (i-i2); //when i为足够大的正数,i2为足够大的负数.结果会造成溢位,导致错误.102.java中实现多态的机制是什么?方法的重写Overriding和重载Overloading是Java多态性的不同表现.重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现.103.垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主

对比C++和Java

"作为一名C++程序员,我们早已掌握了面向对象程序设计的基本概念,而且Java的语法无疑是非常熟悉的.事实上,Java本来就是从C++衍生出来的." 然而,C++和Java之间仍存在一些显著的差异.可以这样说,这些差异代表着技术的极大进步.一旦我们弄清楚了这些差异,就会理解为什么说Java是一种优秀的程序设计语言.本附录将引导大家认识用于区分Java和C++的一些重要特征. (1) 最大的障碍在于速度:解释过的Java要比C的执行速度慢上约20倍.无论什么都不能阻止Java语言进行编译