Java之循环控制loop

  在Java中,循环的逻辑常用break、continue、某一个变量值来控制。其实在java中还存在一个LOOP,用在break、continue之后,标记循环应该跳出到的位置。下面用几个小demo来说明。

一、常用的break:跳出当前循环

复制代码
import org.junit.Test;

public class LoopDemo {

    @Test
    public void testNormalBreak() {
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 4; j++) {
                System.out.println("i =" + i + "; j = " + j);
                if(j == 2) {
                    break;
                }    
            }
        }
    }
}
复制代码

  运行结果如下

  

 二、break后标记loop,跳出循环到指定位置

复制代码
import org.junit.Test;

public class LoopDemo {

    @Test
    public void testLoopBreak() {
        loop:
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 4; j++) {
                System.out.println("i =" + i + "; j = " + j);
                if(j == 2) {
                    break loop;
                }    
            }
        }
    }
}
复制代码

  运行结果如下

  

   由break的两个简单的demo可以看出,双重循环的场景下,break只是跳出当前循序;break后加上标记位,跳出循环到标记位指定的位置。

三、常用的continue:跳过本次循环

复制代码
import org.junit.Test;

public class LoopDemo {
    
    @Test
    public void testNormalContinue() {
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 4; j++) {
                if(j == 2) {
                    continue;
                }
                System.out.println("i =" + i + "; j = " + j);
            }
        }
    }
}
复制代码

  运行结果如下

  

四、常用的continue:跳过本次循环

复制代码
import org.junit.Test;

public class LoopDemo {

    @Test
    public void testLoopContinue() {
        loop:
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 4; j++) {
                if(j == 2) {
                    continue loop;
                }
                System.out.println("i =" + i + "; j = " + j);
            }
        }
    }
}
复制代码

  运行结果如下

  

  由continue的两个简单的demo可以看出,双重循环的场景下,continue只是跳过本次循环;continue后加上标记位,跳过循环到标记位指定的位置。

  日常开发中通常用不到loop标记位的功能,官方给出的建议是尽量不要这样使用,在jdk8中BufferedReader的readLine方法中看到了这样的用法,特此记录一下。

posted @   无虑的小猪  阅读(5365)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
点击右上角即可分享
微信分享提示