? 在看源码时,出现了retry: ,这个是什么意思?之前没有接触过,那先来一个简单的例子。
public void testRetry() { 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.打开②,关闭①,打印结果
....
j=1
j=2
i=132348
j=1
j=2
i=132349
j=1
j=2
i=132350
j=1
j=2
...一直循环打印
retry相当于一个标记,只用在循环里面,很像goto语句,break到retry字符处。如果retry没有在循环(for,while)里面,在执行到retry时,就会跳出整个循环。如果retry在循环里面,可以理解为跳到了关键字处执行,不管几层循环。continue理解也是一样。
注意
retry:需要放在for,whlie,do...while的前面声明,变量只跟在break和continue后面。
21895228