break和continue在多重循环中使用

关于break和continue在java中,break的作用是跳出循环,continue的作用是跳出本次循环。

我们一般情况下,这样使用:

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("break循环结果:");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.println("i=" + i + ",j=" + j);
if (j == 2)
break;
}
}
System.out.println("continue循环结果");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (j == 2)
continue;
System.out.println("i=" + i + ",j=" + j); }
}
}

运行结果如下:

break循环结果:

i=0,j=0

i=0,j=1

i=0,j=2

i=1,j=0

i=1,j=1

i=1,j=2

i=2,j=0

i=2,j=1

i=2,j=2

i=3,j=0

i=3,j=1

i=3,j=2

i=4,j=0

i=4,j=1

i=4,j=2

continue循环结果

i=0,j=0

i=0,j=1

i=0,j=3

i=0,j=4

i=1,j=0

i=1,j=1

i=1,j=3

i=1,j=4

i=2,j=0

i=2,j=1

i=2,j=3

i=2,j=4

i=3,j=0

i=3,j=1

i=3,j=3

i=3,j=4

i=4,j=0

i=4,j=1

i=4,j=3

i=4,j=4

以上是跳出单层循环的情况,而需要跳出多层循环时,我们通常在外层循环中做有关的判断,再进行跳出,但除了这种方法外,还可以在外层循环前面定义一个标号,然后在内层循环中使用带有标号break或者continue的语句,就可以直接跳出多重循环,测试代码如下:

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("break循环结果:");
grade1:
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.println("i=" + i + ",j=" + j);
if (j == 2)
break grade1;
}
}
System.out.println("continue循环结果");
grade2:
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (j == 2)
continue grade2;
System.out.println("i=" + i + ",j=" + j); }
}
}

运行结果如下:

break循环结果:

i=0,j=0

i=0,j=1

i=0,j=2

continue循环结果

i=0,j=0

i=0,j=1

i=1,j=0

i=1,j=1

i=2,j=0

i=2,j=1

i=3,j=0

i=3,j=1

i=4,j=0

i=4,j=1

break和continue在多重循环中使用的更多相关文章

  1. return break 和continue在for循环中的不同作用

    平时自己经常在函数里见到return,在switch语句中使用break,而continue则用的不多. 其实这三者都能在for循环中发挥不同的作用,让代码更加灵活. 先说return return是 ...

  2. python学习之break和continue在for循环中的使用(案例:打印出10以内的偶数,并且只要前三个偶数)

    运行程序,break是整个程序都跳出 continue则表示跳过当前一次循环,然后继续执行循环

  3. break 和 continue 语句, 以及循环中的 else 子句

    break 语句工作得如同 C 语言一样, 跳出最小的 for 或 while 循环.循环语句可以有一个 else 子句; 该子句会在以下情况被执行: 循环因迭代到列表末尾而终止 (for 语句), ...

  4. java中break和continue跳出指定循环(转载)

    java中break和continue跳出指定循环 java中break和continue可以跳出指定循环,break和continue之后不加任何循环名则默认跳出其所在的循环,在其后加指定循环名,则 ...

  5. Java中break和continue跳出指定循环

    https://www.cnblogs.com/miys/p/b7f6a463bc58785d74a8a7fccd1f1243.html 在Java中,break和continue可以跳出指定循环,在 ...

  6. php continue 跳出多重循环

    来源参考:https://blog.csdn.net/xyy94813/article/details/50834938 /* * 在PHP中break语句不仅可以跳出当前循环,还可以指定跳出几层循环 ...

  7. Scala 封装可break和continue的foreach循环

    发现scala里没有break和continue, 有时候实在是需要的话就要自己try catch异常,代码看起来有点蛋疼, 所以封装了一个可break和continue的foreach. impor ...

  8. 关于break语句如何结束多重循环的嵌套

    在Java中的break语句功能大体上同c语言, 用于循环语句中,表示结束当前循环. 但是有时候在循环嵌套语句中,仅仅靠一 个break语句想实现是不够的. 例: 如果想使sum在501时就直接输出, ...

  9. break与continue,return结束循环区别

    break是跳出一层循环,continue是结束一趟循环 ,return才是结束所有层循环! 如果有多层for循环,break会跳出当前这一层,去执行最外层循环(而不是退出所有层循环);而contin ...

随机推荐

  1. lambda和委托那点事

    Lambda 简介 Lambda 表达式是一种可用于创建委托或表达式目录树类型的一种匿名函数(匿名方法+Lambda).通过使用 lambda 表达式,可以写入可作为参数传递或作为函数 调用值返回的本 ...

  2. Ubuntu安装JDK及环境变量配置(sun java)

    捣鼓了尽一天的时间,终于把sun的java安装上了,不是openjava了,网上试了好多的方法好多都是不可以的,所以当自己成功后就立马把方法贴出来,以方便后来者少走弯路,此文的方法绝对可行! 这里先简 ...

  3. iOS开发——高级篇——iOS 强制退出程序APP代码

    1.先po代码 UIAlertView* alert = [[UIAlertView alloc] initWithTitle:self.exitapplication message:@" ...

  4. JVM架构

    1 JVM的内存模型 1.1 堆空间 每个jvm都有一个堆,所有的对象都放在这里. 1.2 java栈空间 每个线程都有一个java栈,所有的java栈都放在这里. 1.3 本地方法栈 每个线程都有一 ...

  5. 函数计算 触发式计算 日志 MP3 图片 合成视频

    函数计算 触发式计算   日志  MP3 图片 合成视频 [start_time]:20120511 06:59:11 [20120511 06:59:11_0.4950568322522534]: ...

  6. 20170626_oracle_数据库设计

    数据库设计的定义:规划数据库中数据对象以及之间关系的过程. 为什么进行数据库设计? 空间 完整性 程序开发 数据库设计前提知识: 范式: 1NF:第一范式 第一范式的目标是确保每列的原子性 如果每列都 ...

  7. go2基本类型

    /* Go基本类型 布尔型:bool - 长度:1字节 - 取值范围:true, false - 注意事项:不可以用数字代表true或false 整型:int/uint - 根据运行平台可能为32或6 ...

  8. Bing Maps进阶系列九:使用MapCruncher进行地图切片并集成进Bing Maps

    Bing Maps进阶系列九:使用MapCruncher进行地图切片并集成进Bing Maps 在Bing Maps开发中,由于各种应用功能的不同,更多的时候用户可能需要将自己的一部分图片数据作为地图 ...

  9. [ZJOI 2007] 矩阵游戏

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1059 [算法] 二分图最大匹配 时间复杂度 : O(N^3) [代码] #inclu ...

  10. libnids TCP数据流重组,显示TCP连接过程的程序总无法捕获数据包解决办法:

      法一: 指定可用网卡: nids_params.device="lo"; 法二: nids.h中有这么一段: struct nids_chksum_ctl { u_int ne ...