Java中break、continue、return語句的使用區(qū)別對(duì)比
break、continue、return之間的區(qū)別與聯(lián)系
在軟件開發(fā)過程中,邏輯清晰是非常之重要的。 代碼的規(guī)范也是非常重要的。往往細(xì)節(jié)決定成敗。在編寫代碼的時(shí)候,一定要理解語言的作用以及使用的方法和場(chǎng)景。下面來介紹一下break、continue、return三者的區(qū)別和聯(lián)系。
1. break :
(1).結(jié)束當(dāng)前整個(gè)循環(huán),執(zhí)行當(dāng)前循環(huán)下邊的語句。忽略循環(huán)體中任何其它語句和循環(huán)條件測(cè)試。
(2).只能跳出一層循環(huán),如果你的循環(huán)是嵌套循環(huán),那么你需要按照你嵌套的層次,逐步使用break來跳出。[逐層判斷,逐步跳出]
(3).break在循環(huán)體內(nèi),強(qiáng)行結(jié)束循環(huán)的執(zhí)行,也就是結(jié)束整個(gè)循環(huán)過程,不在判斷執(zhí)行循環(huán)的條件是否成立,直接轉(zhuǎn)向循環(huán)語句下面的語句。
(4).當(dāng)break出現(xiàn)在循環(huán)體中的switch語句體內(nèi)時(shí),其作用只是跳出該switch語句體。
總的來說:就近原則,結(jié)束當(dāng)前的整個(gè)循環(huán)。
2. return:
(1).return 從當(dāng)前的方法中退出,返回到該調(diào)用的方法的語句處,繼續(xù)執(zhí)行。
(2).return 返回一個(gè)值給調(diào)用該方法的語句,返回值的數(shù)據(jù)類型必須與方法的聲明中的返回值的類型一致。
(3). return后面也可以不帶參數(shù),不帶參數(shù)就是返回空,其實(shí)主要目的就是用于想中斷函數(shù)執(zhí)行,返回調(diào)用函數(shù)處。
3. continue:
(1).終止本次循環(huán)的執(zhí)行,即跳過當(dāng)前這次循環(huán)中continue語句后尚未執(zhí)行的語句,接著進(jìn)行下一次循環(huán)條件的判斷。
(2).結(jié)束當(dāng)前循環(huán),進(jìn)行下一次的循環(huán)判斷。
(3).終止當(dāng)前的循環(huán)過程,但他并不跳出循環(huán),而是繼續(xù)往下判斷循環(huán)條件執(zhí)行語句.他只能結(jié)束循環(huán)中的一次過程,但不能終止循環(huán)繼續(xù)進(jìn)行.
代碼如下:
public static void test() {
for (int i = 0; i < 10; i++) {
if (i == 3) {
// break;//
// continue;//i=3的時(shí)候結(jié)束這一次的循環(huán),繼續(xù)執(zhí)行i=4的循環(huán)
return;// 直接結(jié)束整個(gè)函數(shù)
}
System.out.println("----" + i);
}
System.out.println("-111--");
}
附圖片:
當(dāng)為return的時(shí)候:

當(dāng)為continue的時(shí)候:

當(dāng)為break的時(shí)候:

相關(guān)文章
Java Scanner的使用和hasNextXXX()的用法說明
這篇文章主要介紹了Java Scanner的使用和hasNextXXX()的用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
Mybatis實(shí)現(xiàn)數(shù)據(jù)的增刪改查實(shí)例(CRUD)
本篇文章主要介紹了Mybatis實(shí)現(xiàn)數(shù)據(jù)的增刪改查實(shí)例(CRUD),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05
RocketMQ實(shí)現(xiàn)消息分發(fā)的步驟
RocketMQ 實(shí)現(xiàn)消息分發(fā)的核心機(jī)制是通過 Topic、Queue 和 Consumer Group 的配合實(shí)現(xiàn)的,下面給大家介紹RocketMQ實(shí)現(xiàn)消息分發(fā)的步驟,感興趣的朋友一起看看吧2024-03-03
application.yaml與bootstrap.yaml的使用
這篇文章主要介紹了application.yaml與bootstrap.yaml的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
Spring Security動(dòng)態(tài)權(quán)限的實(shí)現(xiàn)方法詳解
這篇文章主要和小伙伴們簡(jiǎn)單介紹下 Spring Security 中的動(dòng)態(tài)權(quán)限方案,以便于小伙伴們更好的理解 TienChin 項(xiàng)目中的權(quán)限方案,感興趣的可以了解一下2022-06-06
Spring整合Quartz分布式調(diào)度的示例代碼
本篇文章主要介紹了Spring整合Quartz分布式調(diào)度的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
使用restTemplate遠(yuǎn)程調(diào)controller路徑取數(shù)據(jù)
這篇文章主要介紹了使用restTemplate遠(yuǎn)程調(diào)controller路徑取數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
聊聊SpringMVC項(xiàng)目依賴和靜態(tài)資源導(dǎo)出問題
這篇文章主要介紹了SpringMVC項(xiàng)目依賴和靜態(tài)資源導(dǎo)出問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
java多線程編程之使用Synchronized關(guān)鍵字同步類方法
JAVA中要想解決“臟數(shù)據(jù)”的問題,最簡(jiǎn)單的方法就是使用synchronized關(guān)鍵字來使run方法同步,看下面的代碼,只要在void和public之間加上synchronized關(guān)鍵字2014-01-01

