在看源碼時,出現了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後面。