學習Java之如何正確地跳出循環(huán)結構
一. break
1. 作用
break關鍵字可以用于for、while、do-while及switch語句中,用來跳出整個語句塊,結束當前循環(huán)的執(zhí)行。 另外我們要特別注意,break 語句總是跳出自己所在的那一層循環(huán) 。 當兩個for循環(huán)嵌套時,如果break語句位于內(nèi)層的for循環(huán),它只會跳出內(nèi)層的for循環(huán),但不會跳出外層的for循環(huán)。
2. 語法
break的用法很簡單,我們在之前學習switch時就已經(jīng)使用過了。一般就是在循環(huán)或switch語句中編寫如下一條語句:
break;
比如我們使用for循環(huán)計算從1累加到100的和時,在循環(huán)內(nèi)部,我們可以使用if判斷,當i==50就提前利用break關鍵字結束循環(huán)。因此,break經(jīng)常會配合if語句使用。
3. 案例
3.1 案例一
break會跳出當前for循環(huán)。當break執(zhí)行后,當前整個for循環(huán)都會結束執(zhí)行。
/**
* @author
*/
public class Demo01 {
public static void main(String[] args) {
//break關鍵字
//需求:從1累加到100,找到累加到哪個數(shù)時,就使得sum和大于888
// 定義變量保存總和
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum = sum + i;
if (sum > 888) {
System.out.println("累加到"+i+"時,sum和就大于888");
// 結束當前循環(huán)
break;
//這里的語句執(zhí)行不到,編譯階段就會報錯
//System.out.println("能執(zhí)行嗎??");
}
//這里的語句可以執(zhí)行,當break跳出循環(huán)后,就不會再繼續(xù)執(zhí)行
System.out.println("能執(zhí)行嗎??"+i);
}
}
}
大家要注意,我們不能直接在break后面跟著其他語句,否則在編譯階段就會出現(xiàn)”Unreachable code“,如下圖所示:

3.2 案例二
需求:將輸入的內(nèi)容進行輸出,如果輸入"886"就結束當前聊天。
/**
* @author
*/
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
//break關鍵字
Scanner sc = new Scanner(System.in);
while(true){
String word = sc.next();
if(word.equals("886")){
//跳出當前循環(huán)
break;
}
//輸出內(nèi)容
System.out.println(word);
}
}
}
二. continue
1. 作用
continue適用于各種循環(huán)結構中,不能用于其他地方,用于跳過本次循環(huán),執(zhí)行下一次循環(huán) 。 break可以跳出當前循環(huán),即整個循環(huán)都不會執(zhí)行了。而與break不同,continue是提前結束本次循環(huán),但會繼續(xù)執(zhí)行下一次的循環(huán)。在多層嵌套的循環(huán)中,continue也可以通過標簽指明要跳過的是哪一層循環(huán),并且同樣是只結束自己所在的循環(huán)。
2.語法
continue的用法很簡單,在循環(huán)結構中直接使用如下語句即可:
continue;
3. 案例
3.1 案例一
需求:輸出100以內(nèi),所有不是3的倍數(shù)的整數(shù)。使用continue結束當前循環(huán),繼續(xù)下一次循環(huán)。
/**
* @author
*/
public class Demo03 {
public static void main(String[] args) {
//continue關鍵字
//案例:輸出100以內(nèi),所有不是3的倍數(shù)的整數(shù)
for(int i = 1; i <= 100 ; i++){
if(i % 3 == 0){
//結束本次循環(huán),繼續(xù)執(zhí)行下次循環(huán),并不會結束整個循環(huán),直到完成整個循環(huán)
continue;
}
System.out.println(i);
}
}
}
3.2 案例二
需求:將輸入的內(nèi)容進行輸出,如果輸入"886"就結束當前聊天。如果輸入了敏感詞匯,則用“***”替代顯示。
/**
* @author
*/
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
//continue關鍵字
//需求:將輸入的內(nèi)容進行輸出,如輸入"886"就結束當前聊天。如輸入了敏感詞匯,則用“***”替代顯示
Scanner sc = new Scanner(System.in);
while(true){
String word = sc.next();
if(word.equals("886")){
//跳出整個循環(huán)
break;
}
if(word.equals("WC")||word.equals("SB")){
System.out.println("***");
//中止本次循環(huán),繼續(xù)下一次循環(huán)
continue;
}
System.out.println(word);
}
}
}
4. 多層循環(huán)嵌套時的跳轉
當多層循環(huán)嵌套時,內(nèi)層循環(huán)可以使用外層循環(huán)中的變量。外層循環(huán)每循環(huán)一次,內(nèi)層循環(huán)都會完整的執(zhí)行完內(nèi)層循環(huán)的所有次數(shù)。break/continue只會控制當前的循環(huán),當多層循環(huán)嵌套時,為了便于控制,我們可以通過給循環(huán)設定標簽的形式來進行控制。
4.1 語法
多層循環(huán)嵌套時,帶有標簽的語法結構如下:
label1: { ……
label2: { ……
label3: { ……
break label2;
}
}
}
當有多層循環(huán)嵌套,我們可以給每一次循環(huán)起個標簽名稱,名稱隨意,只要符合java里的標識符命名規(guī)則即可。然后結合break或者continue就可以結束當前或本次循環(huán)。
4.2 案例
這里是多層循環(huán)嵌套時帶有標簽的案例,供大家參考如下:
/**
* @author
*/
public class Demo07 {
public static void main(String[] args) {
//多層循環(huán)嵌套
//打印5行5列的矩形,用 * 表示
label01:for(int i = 1 ; i <= 5 ;i++){ //控制行
label02:for(int j = 1 ; j <= 5 ; j++){//控制列
System.out.print(" * ");
//當執(zhí)行到第3列時,提前跳出循環(huán)
if(j==3) {
break label02;
//continue label02;
}
}
//進行換行
System.out.println();
}
}
}
三. return
關于return關鍵字,今天先簡單介紹以后,后面我們在學習Java的”方法“時會詳細講解!
1. 作用
return并不是專門用來結束循環(huán)的關鍵字,它可以用來結束一個方法或循環(huán)。當一個方法執(zhí)行到return語句時,該方法就會被結束。與break和continue不同的是,return是直接結束整個方法,不管這個return處在多少層的循環(huán)之內(nèi)。
2. 語法
return關鍵字的基本語法如下:
訪問修飾符 返回值類型 方法名(參數(shù)...){
//方法體
//注意:這里返回值的類型必須與方法上聲明的返回值類型一致!
return 返回值;
}
3. 案例
因為return的用法,主要是和java里的”方法“有關系,所以在這里先簡單給大家展示兩個基本的案例,以后我們再詳細學習方法和return的內(nèi)容。
3.1 案例一
在方法中返回值指定類型的結果。
/**
* @author
*/
public class Demo05 {
public static void main(String[] args) {
// return關鍵字
//調(diào)用定義的方法,并獲取返回結果
String result = sayHello();
System.out.println("result="+result);
}
//定義一個帶有String類型返回值的方法
//訪問修飾符 返回值類型
public static String sayHello() {
//本方法中只能返回String類型
return "Hello,壹壹哥!";
}
}
3.2 案例二
return也可以在循環(huán)中使用,用于結束整個循環(huán)。
/**
* @author
*/
public class Demo06 {
public static void main(String[] args) {
// return關鍵字
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <= 10; j++) {
if (i + j == 10) {
//結束整個循環(huán)的執(zhí)行,無論循環(huán)的層次
return;
}
System.out.println("i = " + i + ",j = " + j + ",i + j = " + (i + j));
}
}
//這里執(zhí)行不到
System.out.println("循環(huán)之后的語句");
}
}
四. 結語
至此,就把return、break、continue這三個關鍵字給大家講解完畢了,現(xiàn)在你知道它們?nèi)叩挠梅捌鋮^(qū)別了嗎?接下來就給大家對這幾個關鍵字進行一下總結。
1. break與continue的對比
1.1 特點不同
- break語句可以跳出當前循環(huán);
- break語句通常配合if來使用,在滿足條件時可以提前結束整個循環(huán);
- break語句總是跳出最近的一層循環(huán);
- continue語句可以提前結束本次循環(huán);
- continue語句也可以配合if語句,在滿足條件時提前結束本次循環(huán)。
1.2 使用場合不同
- break可用于switch結構和循環(huán)結構中;
- continue只能用于循環(huán)結構中。
1.3 作用不同
- break語句用于終止某個循環(huán),程序跳轉到循環(huán)塊外的下一條語句中;
- continue語句用于跳出本次循環(huán),進入到下一次循環(huán)。
2. continue、break、return三者的對比
- break:結束所在的循環(huán);
- continue:跳過本次循環(huán),繼續(xù)下一次循環(huán);
- return:結束整個方法。
以上就是給大家總結的今天的重點內(nèi)容,希望你要熟練記憶這些特性哦。
以上就是學習Java之如何正確地跳出循環(huán)結構的詳細內(nèi)容,更多關于Java 跳出循環(huán)結構的資料請關注腳本之家其它相關文章!
相關文章
MyBatis-Plus進行分頁查詢優(yōu)化的實踐指南
在實際開發(fā)中,分頁查詢是常見的需求,尤其是需要關聯(lián)其他表獲取額外信息的場景,本文將介紹如何使用 MyBatis-Plus 進行高效分頁查詢,并結合關聯(lián)查詢優(yōu)化數(shù)據(jù)填充,需要的可以了解下2025-07-07
使用IDEA對SpringBoot應用進行遠程調(diào)試方式
文章介紹了如何在IDEA中對部署在服務器上的SpringBoot應用進行遠程調(diào)試,通過配置遠程調(diào)試端口和啟動參數(shù),本地IDEA可以設置斷點并進行調(diào)試2025-02-02
Java實現(xiàn)將PDF轉換為HTML的高效解決方案與實踐
在日常的軟件開發(fā)和數(shù)據(jù)處理中,我們經(jīng)常會遇到需要將 PDF 文檔內(nèi)容轉換成 HTML 格式的場景,本文將聚焦如何利用 Java 技術高效地完成這一任務,有需要的小伙伴可以了解下2025-09-09

