在看源码时,出现了retry: ,这个是什么意思?之前没有接触过,那先来一个简单的例子。
package com.example.demo1.test;
public class test {
public static void main(String[] args) {
int i = 0;
retry: //①
while (true) {
i++;
System.out.println("i=" + i);
int j = 0;
// retry: //②
for (; ; ) {
j++;
System.out.println("j=" + j);
if (j == 2) {
break retry;
}
}
}
}
}
首先需要说明的是,retry:可以理解为java中的一种特殊的标记,其中retry可以换成任何合法的命名。
a:,b: , A13: .....都是可以的
1.打开①,关闭② 打印结果:
i=1
j=1
j=2
2.打开②,关闭①,打印结果:
i=1
j=1
j=2
...
i=71061
j=1
j=2
i=71062
j=1
j=2
i=71063
...一直循环打印
retry相当于一个标记,只用在循环里面,很像goto语句,break到retry字符处。
如果retry在循环(for,while)外面,在执行到retry时,就会跳出整个循环;
如果retry在循环里面,可以理解为跳到了关键字处(这一层循环)执行,不管几层循环。
注意:
retry:需要放在for,whlie,do...while的前面声明,变量只跟在break和continue后面。