- 相關(guān)推薦
Java中g(shù)oto實現(xiàn)方法
Java語言中g(shù)oto是保留關(guān)鍵字,沒有g(shù)oto語句,也沒有任何使用goto關(guān)鍵字的地方。下面YJBYS小編為大家整理了關(guān)于Java中g(shù)oto實現(xiàn)方法,希望對你有所幫助。
Java中也可在特定情況下,通過特定的手段,來實現(xiàn)goto的功能。顯然Java不愿意開發(fā)者隨意跳轉(zhuǎn)程序。下面解釋兩個特定:
特定情況:只有在循環(huán)體內(nèi),比如for、while語句(含do.……while語句)中。
特定手段:語句標(biāo)簽和循環(huán)控制關(guān)鍵字break、continue,語法格式是:break/continue 語句標(biāo)簽。
break、continue和語句標(biāo)簽
1、語句標(biāo)簽
語句標(biāo)簽的語法是:標(biāo)簽名:
語句標(biāo)簽可以定義在方法體內(nèi)的最后一條語句之前即可。但是語句標(biāo)簽實際使用的機(jī)會是與break和continue結(jié)合使用的,而break和continue是和循環(huán)語句結(jié)合使用的,因此實際上語句標(biāo)簽的使用也是和循環(huán)緊密結(jié)合的。
語句標(biāo)簽在被使用的情況,只能定義在循環(huán)迭代語句之前,否則編譯出錯!
因此,有意義、可使用的標(biāo)簽含義是:指定循環(huán)語句的標(biāo)識!
2、break、continue語句單獨(dú)使用
單獨(dú)使用情況下:break語句作用是結(jié)束當(dāng)前的循環(huán)迭代體,進(jìn)而執(zhí)行剩余的語句。
continue語句的作用是結(jié)束本次迭代過程,繼續(xù)執(zhí)行下一輪迭代。
3、break、continue語句結(jié)合語句標(biāo)簽的使用
為什么需要語句標(biāo)簽?zāi)?
原因是因為程序可能有循環(huán)的嵌套,當(dāng)多層循環(huán)嵌套時候,有時候需要一次跳出多級循環(huán),這種情況下就需要結(jié)合語句標(biāo)簽才能實現(xiàn)此功能了。
帶標(biāo)簽使用情況下:break中斷并跳出標(biāo)簽所指定循環(huán),continue跳轉(zhuǎn)到標(biāo)簽指定的循環(huán)處,并繼續(xù)執(zhí)行該標(biāo)簽所指定的循環(huán)。
為了說明情況,看看下面的例子:
import java.util.Random;
/**
* 語句標(biāo)簽測試
*
* @author leizhimin 2009-7-16 11:43:08
*/
public class TestLable {
public static void main(String[] args) {
outer:
for (int i = 0; i 《 10; i++) {
System.out.println(“\nouter_loop:” + i);
inner:
for (int k = 0; i 《 10; k++) {
System.out.print(k + “ ”);
int x = new Random()。nextInt(10);
if (x 》 7) {
System.out.print(“ 》》x == ” + x + “,結(jié)束inner循環(huán),繼續(xù)迭代執(zhí)行outer循環(huán)了!”);
continue outer;
}
if (x == 1) {
System.out.print(“ 》》x == 1,跳出并結(jié)束整個outer和inner循環(huán)!”);
break outer;
}
}
}
System.out.println(“——》》》所有循環(huán)執(zhí)行完畢!”);
}
}
執(zhí)行結(jié)果:
outer_loop:0
0 1 2 3 4 5 6 7 8 9 》》x == 8,結(jié)束inner循環(huán),繼續(xù)迭代執(zhí)行outer循環(huán)了!
outer_loop:1
0 1 2 3 4 5 》》x == 9,結(jié)束inner循環(huán),繼續(xù)迭代執(zhí)行outer循環(huán)了!
outer_loop:2
0 1 2 3 4 5 6 7 8 9 》》x == 8,結(jié)束inner循環(huán),繼續(xù)迭代執(zhí)行outer循環(huán)了!
outer_loop:3
0 1 2 3 4 》》x == 9,結(jié)束inner循環(huán),繼續(xù)迭代執(zhí)行outer循環(huán)了!
outer_loop:4
0 1 2 3 4 5 6 7 8 9 10 》》x == 8,結(jié)束inner循環(huán),繼續(xù)迭代執(zhí)行outer循環(huán)了!
outer_loop:5
0 》》x == 1,跳出并結(jié)束整個outer和inner循環(huán)!——》》》所有循環(huán)執(zhí)行完畢!
Process finished with exit code 0
【Java中g(shù)oto實現(xiàn)方法】相關(guān)文章:
Java動態(tài)代理實現(xiàn)AOP的方法07-22
java實現(xiàn)web服務(wù)器的方法10-14
在VBScript中實現(xiàn)函數(shù)的方法07-08
java中File類的使用方法10-01
實現(xiàn)鼠標(biāo)畫圖的Java程序06-22
Java多線程的實現(xiàn)方式07-08
在Word 2003版中實現(xiàn)自動求和的方法09-26
java中continue跳轉(zhuǎn)語句使用方法06-06
java中File類有哪些使用方法06-30