当前位置: 首页 > article >正文

阅读线程池源码中遇到的retry:

在这里插入图片描述
一、break retry:
实验对比:
只使用关键字 break:

    public static void  t1(){
        for (int j = 1; j <= 3; j++) {
            System.out.print("\n");
            for (int i = 1; i < 10; i++) {
                if (i % 5 == 0) {
                    break ;
                }
                System.out.print (i +"\t");
            }
        }
        System.out.println("\na-->b");
    }

输出结果:

1 2 3 4
1 2 3 4
1 2 3 4
a–>b

使用“标记位:” break retry:

    public static void  t2(){
        retry:
        for (int j = 1; j <= 3; j++) {

            System.out.print("\n");

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

                if (i % 5 == 0) {
                    break retry;
                }
                System.out.print (i +"\t");
            }
        }
        System.out.println("\na-->b");
    }

结果:

1 2 3 4
a–>b

可以看到break “标记位” 直接跳转到最外层循环,并且结束了循环继续向下执行。
代码反编译。
在这里插入图片描述

continue:

 public static void main(String[] args) {

        retry:
        for (int j = 1; j <= 3; j++) {
            System.out.print("\n");
            for (int i = 1; i < 7; i++) {
                if (i % 5 == 0) {
                    continue ;
                }
                System.out.print (i +"\t");
            }
        }
        System.out.println("\na-->b");
    }

结果:

1 2 3 4 6
1 2 3 4 6
1 2 3 4 6
a–>b

continue “标记位”

public static void main(String[] args) {
        retry:
        for (int j = 1; j <= 3; j++) {
            System.out.print("\n");
            for (int i = 1; i < 7; i++) {
                if (i % 5 == 0) {
                    continue retry;
                }
                System.out.print (i +"\t");
            }
        }
        System.out.println("\na-->b");
    }

运行结果:

1 2 3 4
1 2 3 4
1 2 3 4
a–>b

continue 关键字:跳出本次循环执行体,继续执行循环(如果条件满足)。
continue “标记位” : 跳出循环体,继续执行。
在这里插入图片描述


http://www.kler.cn/a/466377.html

相关文章:

  • 密码学精简版
  • 打靶记录24——Presidential
  • 【JavaScript】变量-常量-数据类型-类型转换
  • 如何使用axios实现并发请求
  • 【漫话机器学习系列】033.决策树回归(Decision Tree Regression)
  • 移动构造函数详解
  • MySQL使用通用二进制文件安装到Unix/Linux
  • 32单片机从入门到精通之开发环境——调试工具(七)
  • nodeJS下npm和yarn的关系和区别详解
  • 嵌入式应用软件开发中C语言方向面试题
  • ClickHouse副本搭建
  • 关于AI面试系统2025年趋势评估!
  • 【Multisim用74ls92和90做六十进制】2022-6-12
  • dns网址和ip是一一对应的吗?
  • AMP 混合精度训练中的动态缩放机制: grad_scaler.py函数解析( torch._amp_update_scale_)
  • Android 网络判断
  • Couchbase 的 OLAP 能力现状以及提升 OLAP 能力的方法
  • Android:动态去掉RecyclerView动画导致时长累加问题解决
  • 【蓝桥杯比赛-C++组-经典题目汇总】
  • cka考试-03-k8s版本升级