Java中結(jié)束循環(huán)的方法
Java中結(jié)束循環(huán)的方法
**1、**使用break結(jié)束本層循環(huán)
? 使用 break 標(biāo)簽; 語句,結(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)的語句,開始下一輪循環(huán)**
? 使用continue 標(biāo)簽;語句,忽略本次循環(huán)中標(biāo)簽所指定的循環(huán)體內(nèi)的所有語句
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)后的所有語句
}
}
}
}輸出結(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)后的所有語句,即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è)輸出語句
}
System.out.println("continue后的語句");
}
}輸出結(jié)果:當(dāng)前的i值:0
continue后的語句
當(dāng)前的i值:1
當(dāng)前的i值:2
continue后的語句
由于continue的存在,當(dāng)i==1的時(shí)候,并未輸出:continue后的語句 這句話。
3、使用return結(jié)束整個(gè)方法:在程序運(yùn)行過程中,如果碰到return語句,則結(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的語句位于循環(huán)體外,也不會(huì)被執(zhí)行
因此注意:return是結(jié)束了整個(gè)方法,無論這個(gè)return處于多少層循環(huán)之中,都將直接跳出整個(gè)循環(huán),整個(gè)方法中的所有語句都將不會(huì)再執(zhí)行。
java結(jié)束本次循環(huán)
一共四種類型
一、跳出本次循環(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)文章
IntelliJ IDEA 統(tǒng)一設(shè)置編碼為utf-8編碼的實(shí)現(xiàn)
這篇文章主要介紹了IntelliJ IDEA 統(tǒng)一設(shè)置編碼為utf-8編碼的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2020-06-06
Java中的日期和時(shí)間類以及Calendar類用法詳解
這篇文章主要介紹了Java中的日期和時(shí)間類以及Calendar類用法詳解,是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09
Java實(shí)現(xiàn)FTP批量大文件上傳下載篇1
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)FTP批量大文件上傳下載的基礎(chǔ)篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
Java旋轉(zhuǎn)數(shù)組中最小數(shù)字具體實(shí)現(xiàn)(圖文詳解版)
這篇文章主要給大家介紹了關(guān)于Java旋轉(zhuǎn)數(shù)組中最小數(shù)字具體實(shí)現(xiàn)的相關(guān)資料,旋轉(zhuǎn)數(shù)組,說明數(shù)據(jù)不變,只是改變位置,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08
解決Java變異出現(xiàn)錯(cuò)誤No enclosing instance of type XXX is accessible
這牌你文章主要給大家分享解決Java變異出現(xiàn)錯(cuò)誤,具體的饑餓絕方案請(qǐng)看下面文章的內(nèi)容,需要的朋友可以參考一下,希望能幫助到你2021-09-09
MyBatis關(guān)聯(lián)查詢的實(shí)現(xiàn)
MyBatis可以通過定義多個(gè)表的關(guān)聯(lián)關(guān)系,實(shí)現(xiàn)多表查詢,本文主要介紹了MyBatis關(guān)聯(lián)查詢的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11
詳解Spring AOP的原理與實(shí)現(xiàn)方式
Spring框架是一個(gè)功能強(qiáng)大且靈活的企業(yè)級(jí)應(yīng)用程序開發(fā)框架,其中最重要的特性之一就是面向切面編程(AOP),我們今天這篇文章將從源碼和案例的角度詳細(xì)介紹Spring AOP的思想、原理和實(shí)現(xiàn)方式2023-07-07
java實(shí)現(xiàn)String字符串處理各種類型轉(zhuǎn)換
在日常的程序開發(fā)中,經(jīng)常會(huì)涉及到不同類型之間的轉(zhuǎn)換,本文主要介紹了String字符串處理各種類型轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10

