Java中結(jié)束循環(huán)的方法
Java中結(jié)束循環(huán)的方法
**1、**使用break結(jié)束本層循環(huán)
? 使用 break 標(biāo)簽; 語(yǔ)句,結(jié)束外層循環(huán)
public static void main(String[] args){
int i,j;
outer: //外層循環(huán)的標(biāo)簽
for(i=0;i<3;i++) {
for(j=0;j<4;j++) {
System.out.println("當(dāng)前的i值:"+i+",當(dāng)前的j值:"+j);
if(j==1) {
break outer; //結(jié)束外層循環(huán)
}
}
}
}輸出結(jié)果:當(dāng)前的i值:0,當(dāng)前的j值:0
當(dāng)前的i值:0,當(dāng)前的j值:1
如果不采用break outer; 而直接是break,則只會(huì)跳出本層循環(huán),即j所控制的循環(huán),而不會(huì)跳出i循環(huán)
public static void main(String[] args){
int i,j;
//outer:
for(i=0;i<3;i++) {
for(j=0;j<4;j++) {
System.out.println("當(dāng)前的i值:"+i+",當(dāng)前的j值:"+j);
if(j==1) {
break;
}
}
}
}輸出結(jié)果:當(dāng)前的i值:0,當(dāng)前的j值:0
當(dāng)前的i值:0,當(dāng)前的j值:1
當(dāng)前的i值:1,當(dāng)前的j值:0
當(dāng)前的i值:1,當(dāng)前的j值:1
當(dāng)前的i值:2,當(dāng)前的j值:0
當(dāng)前的i值:2,當(dāng)前的j值:1
2、使用continue結(jié)束本次循環(huán):忽略本次循環(huán)continue后的所有循環(huán)體內(nèi)的語(yǔ)句,開(kāi)始下一輪循環(huán)**
? 使用continue 標(biāo)簽;語(yǔ)句,忽略本次循環(huán)中標(biāo)簽所指定的循環(huán)體內(nèi)的所有語(yǔ)句
public static void main(String[] args){
int i,j;
outer:
for(i=0;i<3;i++) {
for(j=0;j<4;j++) {
System.out.println("當(dāng)前的i值:"+i+",當(dāng)前的j值:"+j);
if(j==1) {
continue outer; //跳出本次循環(huán)后的所有語(yǔ)句
}
}
}
}輸出結(jié)果:當(dāng)前的i值:0,當(dāng)前的j值:0
當(dāng)前的i值:0,當(dāng)前的j值:1
當(dāng)前的i值:1,當(dāng)前的j值:0
當(dāng)前的i值:1,當(dāng)前的j值:1
當(dāng)前的i值:2,當(dāng)前的j值:0
當(dāng)前的i值:2,當(dāng)前的j值:1
每進(jìn)行一次外層循環(huán)時(shí),當(dāng)內(nèi)層循環(huán)j==1時(shí),都將直接結(jié)束本次外層循環(huán)后的所有語(yǔ)句,即j++在j=1后一直被忽略,得不到執(zhí)行
public static void main(String[] args){
int i;
for(i=0;i<3;i++) {
System.out.println("當(dāng)前的i值:"+i);
if(i==1) {
continue; //忽略后面一個(gè)輸出語(yǔ)句
}
System.out.println("continue后的語(yǔ)句");
}
}輸出結(jié)果:當(dāng)前的i值:0
continue后的語(yǔ)句
當(dāng)前的i值:1
當(dāng)前的i值:2
continue后的語(yǔ)句
由于continue的存在,當(dāng)i==1的時(shí)候,并未輸出:continue后的語(yǔ)句 這句話。
3、使用return結(jié)束整個(gè)方法:在程序運(yùn)行過(guò)程中,如果碰到return語(yǔ)句,則結(jié)束該整個(gè)方法
public static void main(String[] args){
int i;
for(i=0;i<3;i++) {
System.out.println("當(dāng)前的i值:"+i);
if(i==1) {
return;
}
}
System.out.println("hello world");
}輸出結(jié)果:當(dāng)前的i值:0
當(dāng)前的i值:1
在return處,結(jié)束了整個(gè)main方法,即使輸出hello world的語(yǔ)句位于循環(huán)體外,也不會(huì)被執(zhí)行
因此注意:return是結(jié)束了整個(gè)方法,無(wú)論這個(gè)return處于多少層循環(huán)之中,都將直接跳出整個(gè)循環(huán),整個(gè)方法中的所有語(yǔ)句都將不會(huì)再執(zhí)行。
java結(jié)束本次循環(huán)
一共四種類(lèi)型
一、跳出本次循環(huán)(continue)
for(int i = 0; i< ?999; i++){
? ? ? ?if(i == 520){
? ? ? ? ? ? log.debug("啊哈!");
? ? ? ? ? ? continue;
? ? ? ?} ?
? ? ? ? ?log.debug("蕪湖!");
}二、跳出本層循環(huán),也就是這個(gè)循環(huán)體的結(jié)束(break)
for (int i = 0; i < 999; i++) {
? ? ? ? ? ? for (int j = 0; j < 999; j++) {
? ? ? ? ? ? ? ? if (j == 520) {
? ? ? ? ? ? ? ? ? ? log.debug("你好啊!");
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? if (j == 456) {
? ? ? ? ? ? ? ? ? ? log.debug("我很好!");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? log.debug("蕪湖!");
? ? ? ? ? ? }
}三、.跳出多層循環(huán)。(break loop)loop可以自己定義
loop: for (int i = 0; i < 999; i++) {
? ? for (int j = 0; j < 99; j++) {
? ? ? ? if (j == 52) {
? ? ? ? ? ? log.debug("好啊!");
? ? ? ? ? ? break loop;
? ? ? ? }
? ? ? ? if (j == 14) {
? ? ? ? ? ?log.debug("很好啊!");
? ? ? ? }
? ? ? ? log.debug("蕪湖!");
? ? }
? ? log.debug("666!");
}四、跳出方法(return)
登錄后復(fù)制
private static void Test(){
? ? for(int i= 0; i < 999; i++){
? ? ? ? if(i < 520){
? ? ? ? ? ? log.debug("我先下線!");
? ? ? ? }
? ? ? ? if(i == 888){
? ? ? ? ? ? log.debug("我走了!");
? ? ? ? ? ? return;
? ? ? ? }
? ? }
? ? log.debug("別走!");
}到此這篇關(guān)于Java中結(jié)束循環(huán)的方法的文章就介紹到這了,更多相關(guān)java結(jié)束循環(huán)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項(xiàng)目啟動(dòng)后自動(dòng)加載系統(tǒng)配置的多種實(shí)現(xiàn)方式
這篇文章主要介紹了SpringBoot項(xiàng)目啟動(dòng)后自動(dòng)加載系統(tǒng)配置的多種實(shí)現(xiàn)方式,并通過(guò)代碼示例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2025-01-01
SpringBoot與rabbitmq的結(jié)合的示例
這篇文章主要介紹了SpringBoot與rabbitmq的結(jié)合的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
SpringBoot項(xiàng)目上高并發(fā)問(wèn)題的解決方案
本章演示在springboot項(xiàng)目中的高并發(fā)demo,演示導(dǎo)致的問(wèn)題,以及單機(jī)部署下的解決方案和集群部署下的解決方式以及分布式下的解決方案,文中通過(guò)圖文結(jié)合的方式講解的非常詳細(xì),需要的朋友可以參考下2024-06-06
SpringBoot自動(dòng)裝配之@Import深入講解
由于最近的項(xiàng)目需求,需要在把配置類(lèi)導(dǎo)入到容器中,通過(guò)查詢(xún),使用@Import注解就能實(shí)現(xiàn)這個(gè)功能,@Import注解能夠幫我們吧普通配置類(lèi)(定義為Bean的類(lèi))導(dǎo)入到IOC容器中2023-01-01
Thymeleaf渲染網(wǎng)頁(yè)時(shí)中文亂碼的問(wèn)題及解決
這篇文章主要介紹了Thymeleaf渲染網(wǎng)頁(yè)時(shí)中文亂碼的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
Java監(jiān)聽(tīng)POST請(qǐng)求的示例詳解
要監(jiān)聽(tīng)POST請(qǐng)求,我們可以使用Java中的HttpServlet類(lèi),以下是一個(gè)使用Servlet API監(jiān)聽(tīng)POST請(qǐng)求的完整示例,通過(guò)代碼示例講解的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-12-12
Spring?Cloud?Hystrix原理與注意事項(xiàng)小結(jié)
本文介紹了Hystrix的基本概念、工作原理以及其在實(shí)際開(kāi)發(fā)中的應(yīng)用方式,通過(guò)對(duì)Hystrix的深入學(xué)習(xí),開(kāi)發(fā)者可以在分布式系統(tǒng)中實(shí)現(xiàn)精細(xì)的錯(cuò)誤處理機(jī)制,并能夠及時(shí)響應(yīng)系統(tǒng)中的異常,避免服務(wù)的連鎖崩潰,感興趣的朋友一起看看吧2025-03-03

