使用break這一個(gè)單詞就可以在java語(yǔ)言中自成一條java語(yǔ)句,break語(yǔ)句的編寫(xiě)很簡(jiǎn)單,例如“break;”,那么它可以用在哪里呢?首先它可以使用在switch語(yǔ)句當(dāng)中,用來(lái)終止switch語(yǔ)句的執(zhí)行,這個(gè)之前我們用過(guò),這里不再贅述,break語(yǔ)句重點(diǎn)是使用在循環(huán)語(yǔ)句當(dāng)中,用來(lái)終止/跳出循環(huán)。例如有這樣一個(gè)業(yè)務(wù):從鍵盤(pán)不斷的接收用戶(hù)輸入的整數(shù),只要用戶(hù)輸入的數(shù)字在[0~100]之間,則將輸入的數(shù)字累加,一旦用戶(hù)輸入的整數(shù)不在[0-100]的范圍,則終止循環(huán)的執(zhí)行,并輸出計(jì)算結(jié)果。請(qǐng)看下面的代碼:
java.util.Scanner scanner = new java.util.Scanner(System.in);
int sum = 0;
while(true){
System.out.print("請(qǐng)輸入[0-100]的整數(shù):");
int num = scanner.nextInt();
if(num >= 0 && num <= 100){
sum += num;
System.out.println("累加" + num + "成功!");
}else{
System.out.println("不在合法范圍,無(wú)法累加" + num);
break;
}
}
System.out.println("最終累加結(jié)果 = " + sum);
運(yùn)行效果如下圖所示:
圖6-37:break初步使用
通過(guò)以上程序我們得知當(dāng)用戶(hù)輸入的數(shù)字不在[0-100]范圍內(nèi)的時(shí)候break語(yǔ)句執(zhí)行,while循環(huán)結(jié)束了。那么,當(dāng)循環(huán)語(yǔ)句多層嵌套的時(shí)候break語(yǔ)句終止的是哪個(gè)循環(huán)呢?我們來(lái)看以下的程序:
for(int j = 1; j <= 2; j++){
for(int i = 1; i <= 10 ; i++){
if(i == 5){
break;
}
System.out.println("i = " + i);
}
}
運(yùn)行結(jié)果如下所示:
圖6-38:break終止的是哪個(gè)循環(huán)
分析以上程序,請(qǐng)看下圖:
圖6-39:循環(huán)嵌套時(shí),break終止哪個(gè)?
通過(guò)上圖的分析,可以得知break語(yǔ)句默認(rèn)情況下只能終止離它“最近”的“一層”循環(huán)。以上的break語(yǔ)句則終止的是內(nèi)部循環(huán),不影響外部循環(huán)的執(zhí)行。那么break語(yǔ)句可以用來(lái)終止指定的循環(huán)嗎?請(qǐng)看以下代碼:
first:for(int j = 1; j <= 2; j++){
for(int i = 1; i <= 10 ; i++){
if(i == 5){
break first;
}
System.out.println("i = " + i);
}
}
運(yùn)行結(jié)果如下圖所示:

圖6-40:終止指定的循環(huán)
通過(guò)以上程序的測(cè)試,我們可以得知當(dāng)多層循環(huán)嵌套的時(shí)候,可以給每個(gè)循環(huán)設(shè)置標(biāo)識(shí),例如:first:for...、second:for...,當(dāng)某個(gè)條件成立時(shí),想終止指定循環(huán)的話,可以這樣做:break first;或者break second;,這樣指定的循環(huán)就結(jié)束了。
總之,break語(yǔ)句出現(xiàn)在循環(huán)當(dāng)中用來(lái)終止循環(huán)的執(zhí)行。例如:運(yùn)動(dòng)場(chǎng)上的運(yùn)動(dòng)員跑圈兒,跑了一圈又一圈,這顯然是循環(huán)機(jī)制,假設(shè)比賽要求跑10圈兒,或者20圈兒,那么當(dāng)計(jì)數(shù)器等于10,或者20的時(shí)候,循環(huán)就結(jié)束了,如果中途發(fā)生意外呢,例如運(yùn)動(dòng)員暈倒了,那么此時(shí)在沒(méi)有達(dá)到10圈兒或20圈兒的時(shí)候是不是也應(yīng)該終止此循環(huán)的執(zhí)行,要想讓循環(huán)結(jié)束則執(zhí)行break語(yǔ)句就可以了。