zoukankan      html  css  js  c++  java
  • Java循环中try...finally...遇到continue

    一段很简单的代码,先自己在大脑中给出结果:

    for (int i = 0; i < 5; i++) {
        System.out.println("enter: i=" + i);
        try {
            if (i % 2 == 0)
                continue;
        } finally {
            System.out.println("leave: i=" + i);
        }
    }
    

    运行结果:

    enter: i=0
    leave: i=0
    enter: i=1
    leave: i=1
    enter: i=2
    leave: i=2
    enter: i=3
    leave: i=3
    enter: i=4
    leave: i=4
    enter: i=5
    leave: i=5
    

    为什么会提出这个问题呢?是因为在review代码时,finally中有比较重要的业务逻辑,特别注意了下这个代码结构,虽然知道finally是一定会会执行的,但是又纠结于continue会忽略循环中后面的代码,所以就写了上面的测试程序。

    结论

    即使循环中的try...finally...中有continue,finally始终都是会执行的。

  • 相关阅读:
    codeforces689A
    codeforces222A
    codeforces553A
    2021牛客国庆集训派对day6 J
    SVM--支持向量机
    压缩感知
    范数
    LeNet详解
    卷积神经网络(CNN)详解
    BP算法实例—鸢尾花的分类(Python)
  • 原文地址:https://www.cnblogs.com/acode/p/9188398.html
Copyright © 2011-2022 走看看