`
gnail_oug
  • 浏览: 102979 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

java如何直接跳出外层循环

阅读更多
使用break直接结束外层循环

break默认是结束当前循环,有时我们在使用循环时,想通过内层循环里的语句直接跳出外层循环,java提供了使用break直接跳出外层循环,此时需要在break后通过标签指定外层循环。java中的标签是一个紧跟着英文冒号的标识符,与其他语言不同的是,java中的标签只有放在循环语句之前才有作用。需要注意的是,break后标签必须是一个有效的标签,即这个标签须在break语句所在循环的外层循环之前定义。
例如一下代码:
package com;

public class Test {
	
	public static void main (String []args){
		//外层循环,outer作为标识符
		outer:
		for(int i=0;i<3;i++){
			for(int j=0;j<3;j++){
				System.out.println(i+"---"+j);
				//当j=2时结束outer标识符指定的循环
				if(j==2){
					break outer;
				}
			}
		}
	}
}



运行结果为:
0---0
0---1
0---2


与break类似的,continue也可以紧跟一个标签,用于直接结束所标识循环的当次循环,重新开始下一次循环。
return也可以结束一个循环,但与continue和break不同的是,return直接结束整个方法,不管这个return处于多少层循环之内。



欢迎加入2000人的技术交流千人群:101085864








0
8
分享到:
评论
6 楼 panjavay 2012-12-28  
gteam.yu 写道
 public static void main(String[] args)
    {
        boolean stop = false;
        for (int i = 0; i < 3 && !stop; i++)
        {
            for (int j = 0; j < 4; j++)
            {
                // do something
                System.out.printf("i is %d, j is %d\n", i, j);
                if (j == 2)
                {
                    stop = true;
                    break;
                }
            }
        }
    }

其实我更喜欢这样的方式,感觉这样更加符合java的风格,不确定那个方式更加好

是的,提倡这么写!
5 楼 魔力猫咪 2012-12-28  
不能跳出那么避免多重嵌套循环就是。可以把里面的循环单独写成方法使用嘛。这样可以简化代码,提高可读性。
4 楼 mqlfly2008 2012-12-28  
其实我更喜欢直接return
3 楼 gnail_oug 2012-12-28  
gteam.yu 写道
 public static void main(String[] args)
    {
        boolean stop = false;
        for (int i = 0; i < 3 && !stop; i++)
        {
            for (int j = 0; j < 4; j++)
            {
                // do something
                System.out.printf("i is %d, j is %d\n", i, j);
                if (j == 2)
                {
                    stop = true;
                    break;
                }
            }
        }
    }

其实我更喜欢这样的方式,感觉这样更加符合java的风格,不确定那个方式更加好

2 楼 gteam.yu 2012-12-27  
 public static void main(String[] args)
    {
        boolean stop = false;
        for (int i = 0; i < 3 && !stop; i++)
        {
            for (int j = 0; j < 4; j++)
            {
                // do something
                System.out.printf("i is %d, j is %d\n", i, j);
                if (j == 2)
                {
                    stop = true;
                    break;
                }
            }
        }
    }

其实我更喜欢这样的方式,感觉这样更加符合java的风格,不确定那个方式更加好
1 楼 lvwenwen 2012-12-27  
欢迎加入2000人的技术交流千人群:101085864
这才是重点

相关推荐

    Java 8跳过本次循环,继续执行以及跳出循环,终止循环的代码实例

    Java 8跳过本次循环、...在上面的代码中,我们使用了标签outer来标记外层循环,然后使用break语句跳出外层循环。 Java 8提供了多种方式来跳过本次循环、继续执行和跳出循环,我们可以根据不同的需求选择合适的方式。

    javacript使用break内层跳出外层循环分析

    但是,普通的break语句只能跳出最近的内层循环,无法直接跳出外层循环。为了解决这个问题,JavaScript允许使用标签(Label)来指定break跳转到的位置。 标签是为代码块(比如for循环、while循环或者switch语句)...

    Java跳出多重嵌套循环代码实例

    // 引用标签ok,跳出外层循环 } } } ``` 在这个例子中,`break ok;`语句会立即终止标签为`ok`的循环,即外层的`while`循环,而不仅仅是内层循环。这种方式使得代码更加清晰,减少了辅助变量的使用,提高了可读性...

    在Java中如何跳出当前的多重嵌套循环?

    在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环。例如: ok: for(int i=0;i&lt;10;i++) { for(int j=0;j&lt;10;j++) ...

    Java跳出多重嵌套循环过程解析

    // 当j等于3时,跳出外层循环 } } } ``` 在这个例子中,`break ok;`会立即结束`ok`标号下的所有代码,也就是整个外层循环。 ### 二、外层循环条件被内层循环修改 另一种跳出多重嵌套循环的方法是改变外层循环的...

    Java实验报告——循环结构应用

    外层循环控制仙女草的购买数量,内层循环控制银河梭的购买数量。在循环中,使用if语句检查当前组合是否满足金币不超过剩余数量并且生命力增加超过之前的最大值。如果满足条件,则更新最大生命力和对应的购买数量。 ...

    Java for循环标签跳转到指定位置的示例详解

    `会跳出外层循环,即`outerLoop`标签所对应的循环,而不仅仅是内层循环。如果只使用`break;`,程序将会退出最内层的`innerLoop`循环。 同样,你也可以使用`continue`关键字与标签结合,来跳过循环的当前迭代,直接...

    Java程序设计基础:嵌套循环.pptx

    当只有内层循环的循环条件为 false 时,才会完全跳出内层循环,才可以结束外层循环的当次循环,开始下一次循环。 示例1:编程实现输出星型图案。 嵌套循环使用 public class StarPattern { pub

    Java循环技巧大全

    // 使用标签与break配合跳出外层循环 } } } ``` 通过这种方式,我们可以更容易地控制多层嵌套循环的执行。 #### 六、模拟Goto语句 虽然Java语言本身不支持传统的`goto`语句,但我们可以通过其他方式来模拟类似...

    01-Java语言基础(语句-For循环嵌套)

    1. **循环控制**:理解如何控制内外层循环的关系,比如何时结束外层循环,何时结束内层循环。 2. **效率**:嵌套循环可能会导致性能问题,特别是当循环次数很大时。因此,要尽可能优化代码,减少不必要的计算。 3. *...

    第02章 Java编程基础 15 多重循环示例与小结

    在Java中,我们可以使用`break`语句跳出当前循环,`continue`语句则跳过当前循环的剩余部分,直接进入下一次循环。如果需要跳出所有嵌套循环,可以使用标签和`break`语句配合,如: ```java label: for (int i = 0;...

    Java循环跳转语句之break共3页.pdf.zip

    如果需要同时跳出外层循环,通常需要配合使用标签(label)。 ```java outerLoop: for (int i = 0; i ; i++) { for (int j = 0; j ; j++) { if (i * j == target) { System.out.println("Target found, exiting ...

    Java面试宝典2018版

    例如,可以定义一个标签,比如"ok",并在外层循环前使用它,然后在内层循环条件满足时使用break ok来跳出外层循环。虽然可以使用这种技术来控制循环,但建议尽量通过逻辑上的优化,如修改循环条件来避免使用过于复杂...

    Java面试大全

    例如,在两个嵌套的for循环中,可以在外层循环前定义标签,然后在内层循环中使用break标签名称来直接跳出外层循环。 5. Switch语句中数据类型的限制:switch语句中的表达式必须是整型或枚举类型,因此byte、short、...

    java——面试题

    `即可跳出外层循环。另一种方法是通过修改外层循环的条件,使循环在满足特定条件时自然结束。 5. **switch语句的适用类型**: - `switch`语句的表达式可以是`byte`、`short`、`char`、`int`、`枚举类型`或者`Java ...

    Java面试题大全

    `可以跳出外层循环。然而,更常见且可读性更强的方法是通过修改外层循环的条件来控制循环的结束,例如,在查找二维数组中的特定值时,可以通过设置一个布尔标志`found`并在找到目标值时改变它,然后在外层循环中检查...

    Java经典例题集,Java,笔试题

    4. **多层嵌套循环与跳出机制**:第五题中,使用`break outer`跳出外层循环,当`i+j`大于6时,内层循环不再继续,但外层循环仍会继续,因此`sum`总计增加了6次,输出为18。 5. **数据类型与赋值**:第六题测试了...

    java 面试必考面试题

    在 Java 中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的 break 语句,即可跳出外层循环。 六、switch 语句的使用限制 switch 语句只能作用于整数表达式或者...

Global site tag (gtag.js) - Google Analytics