java retry使用详解

在说明前先来看一点代码:

  public void testRequest() {
//        retry:// 1(行2)
        for (int i = 0; i < 10; i++) {
            retry:// 2(行4)
            while (i == 5) {
                continue retry;
            }
            System.out.print(i + " ");
        }
    }

  • 注释1,输出 0 1 2 3 4 
  • 注释2,输出 0 1 2 3 4 6 7 8 9 

如上如果注释1,循环到 i==5的时候,程序跳到retry的那一行(即行4)开始执行,此时 i 的值未变,然后又是i==5,程序进入死循环一直执行4到6行;

如果注释2,循环到 i==5的时候,程序跳到retry的那一行(即行2)开始执行,注意此时 i 的值还是5,接着  i++(i 不是从0开始了),所以输出 0 1 2 3 4 6 7 8 9 


说明:其实retry就是一个标记,标记程序跳出循环的时候从哪里开始执行,功能类似于goto。retry一般都是跟随者for循环出现,第一个retry的下面一行就是for循环,而且第二个retry的前面一般是 continue或是 break。

retry本身也可以是其它属性名,如 retry1,retry2等等,遵循java的命名规则可以随意命名。如如下的语句也不会报错

public void testRequest() {
        retry1:// 1
        for (int i = 0; i < 10; i++) {
            while (i == 5) {
                continue retry1;
            }
            System.out.print(i + " ");
        }
    }



猜你喜欢

转载自blog.csdn.net/u014763302/article/details/54617683
今日推荐