java結(jié)束當(dāng)前循環(huán)常用代碼
java結(jié)束當(dāng)前循環(huán)常用代碼

在 Java中,當(dāng)我們要結(jié)束一個循環(huán)時,通常會使用循環(huán)變量的實現(xiàn)類來結(jié)束,但在實際開發(fā)中,我們經(jīng)常會遇到某個循環(huán)結(jié)束后需要進(jìn)行其他的操作的情況。此時,就需要使用循環(huán)變量來結(jié)束當(dāng)前循環(huán)。
1、創(chuàng)建一個新的類,并把它添加到主程序中
首先,我們需要創(chuàng)建一個新的類,這個類可以是一個子程序,也可以是一個方法,它應(yīng)該有自己的變量和參數(shù)。在 Java中,創(chuàng)建一個新的類一般都是使用 Map來實現(xiàn)的,如圖1所示。但有些時候我們也需要自己創(chuàng)建一個類,如圖2所示。創(chuàng)建類的方法如下: 通過以上的代碼我們可以看到,它會先創(chuàng)建一個名為“cursor ()”的變量,然后將其添加到主程序中。在主程序中創(chuàng)建一個名為“cursor ()”的對象,然后調(diào)用方法“getCursor ()”獲取當(dāng)前循環(huán)變量所對應(yīng)的引用。我們可以看到它的返回值為0,說明這個對象已經(jīng)被回收了。
2、將當(dāng)前的循環(huán)變量設(shè)置為 cursor ()
我們可以通過下面的代碼來完成這個操作: 在上面的代碼中,我們使用了一個類,并將其添加到主程序中。在上面的代碼中,我們首先使用 cursor ()函數(shù)來獲取當(dāng)前循環(huán)變量所對應(yīng)的引用,如果沒有引用,就返回 null;如果有引用,就把它賦給了新類實例;然后將新類的實例與老的循環(huán)變量進(jìn)行比較。如果兩者相等,就用 return語句來終止當(dāng)前的循環(huán);如果兩者不相等,就在老的循環(huán)變量上賦值給新類實例;然后執(zhí)行新類實例所對應(yīng)的對象。這樣,就完成了結(jié)束當(dāng)前循環(huán)所需做的操作。
3、在主程序中創(chuàng)建一個對象作為新類的實例
當(dāng)我們要結(jié)束當(dāng)前循環(huán)時,可以使用循環(huán)變量的實現(xiàn)類來結(jié)束,但如果想要在主程序中創(chuàng)建一個新的對象,同樣可以使用循環(huán)變量來結(jié)束。 當(dāng)我們創(chuàng)建一個新的對象時,我們需要將這個對象賦值給當(dāng)前的循環(huán)變量。我們可以使用 setValue ()方法來獲取當(dāng)前對象的引用,如果這個引用是指向當(dāng)前對象的,則返回 null;否則返回 null。在這個例子中,我們使用一個新的類來結(jié)束當(dāng)前循環(huán),而不是直接使用 cursor ()方法結(jié)束當(dāng)前循環(huán)。 在 Java中,當(dāng)我們需要結(jié)束一個循環(huán)時,通常會使用 cursor ()方法來結(jié)束。
4、用新類替換原有循環(huán)變量
用新類替換原有循環(huán)變量,其實是把原循環(huán)變量的作用域擴(kuò)大到了新類的作用域,新類的實例不會影響原循環(huán)變量的值,而老的循環(huán)變量會被回收。不過,這種情況也不是絕對的,有些情況下,原來的循環(huán)變量仍然可以用來結(jié)束當(dāng)前循環(huán)。 比如我們需要結(jié)束一個從0到num1的循環(huán),這個時候可以使用類似這樣的語句: 這樣雖然也能完成這個操作,但是沒有利用循環(huán)變量的作用域擴(kuò)大到新類的作用域,所以性能上會比原來要低。 因此,在實際開發(fā)中,我們可以根據(jù)需要來選擇是使用循環(huán)變量結(jié)束當(dāng)前循環(huán)還是使用新類結(jié)束當(dāng)前循環(huán)。不過要注意一點的是,我們不能只選擇其中一種方式結(jié)束當(dāng)前循環(huán),否則就會出現(xiàn)報錯。
5、執(zhí)行新創(chuàng)建的對象并釋放老的循環(huán)變量
3、在主程序中創(chuàng)建一個對象,并用它替換原有循環(huán)變量,然后使用 getCursor ()方法來獲取當(dāng)前對象所對應(yīng)的引用,如果沒有引用,就返回 null; 7、當(dāng)主程序結(jié)束時,只需要將 cursor ()方法從主程序區(qū)塊中刪除即可。 8、當(dāng)要釋放循環(huán)變量所對應(yīng)的引用時,可以使用 getDraw ()方法來獲取當(dāng)前對象所對應(yīng)的引用。
6、使用 getCursor ()方法來獲取當(dāng)前循環(huán)變量所對應(yīng)的引用,如果沒有引用,就返回 null
7、將新添加的對象與原始的循環(huán)變量進(jìn)行比較,如果相等,就釋放老的循環(huán)變量所對應(yīng)的引用,如果不相等,就返回 null 8、釋放循環(huán)變量所對應(yīng)的引用,并將其放入棧中 9、執(zhí)行當(dāng)前對象 10、將對象賦值給一個新的對象,并把它從循環(huán)變量中刪除。如果有循環(huán)變量沒有被釋放,就直接從棧中取出。注意:在運行時要保證新添加的對象也被釋放了。 12、執(zhí)行當(dāng)前對象并將其賦值給一個新的對象 14、如果循環(huán)變量沒有被釋放,就使用 getClass ()方法來獲取當(dāng)前對象并將其賦值給一個新的對象。
7、刪除循環(huán)變量所對應(yīng)的引用,如果是空指針,就返回 null
在 Java中,類的實例對象有一個非常重要的參數(shù),就是 cursor ()。它的作用是結(jié)束當(dāng)前循環(huán),并使它失效。 但是,當(dāng)我們使用 cursor ()時,如果我們在類的構(gòu)造函數(shù)中定義了一個循環(huán)變量,那么這個對象就會在這個構(gòu)造函數(shù)中被初始化,直到它被調(diào)用來結(jié)束當(dāng)前循環(huán)。也就是說,在類的構(gòu)造函數(shù)中定義了一個 cursor ()方法來結(jié)束當(dāng)前循環(huán)的方法。 那么問題來了:在使用 cursor ()方法結(jié)束當(dāng)前循環(huán)時,如果我們有一個類對象是非靜態(tài)的,那它會不會被初始化呢?這也是 Java中必須要考慮的問題。 解決方案:在類的構(gòu)造函數(shù)中定義一個非靜態(tài)的類對象來代替循環(huán)變量。
常用的java結(jié)束當(dāng)前循環(huán)代碼:
1. 使用break語句結(jié)束當(dāng)前循環(huán):
for?(int?i?=?0;?i?<?10;?i++)?{
if?(i?==?5)?{
break;
}
System.out.println(i);
}2. 使用continue語句跳過當(dāng)前循環(huán):
for?(int?i?=?0;?i?<?10;?i++)?{
if?(i?==?5)?{
continue;
}
System.out.println(i);
}3. 使用return語句結(jié)束當(dāng)前方法:
public?void?test()?{
for?(int?i?=?0;?i?<?10;?i++)?{
if?(i?==?5)?{
return;
}
System.out.println(i);
}
}4. 使用標(biāo)簽(label)和break語句結(jié)束指定循環(huán):
outer:
for?(int?i?=?0;?i?<?10;?i++)?{
for?(int?j?=?0;?j?<?10;?j++)?{
if?(i?==?5?&&?j?==?5)?{
break?outer;
}
System.out.println(i?+?","?+?j);
}
}到此這篇關(guān)于java結(jié)束當(dāng)前循環(huán)常用代碼的文章就介紹到這了,更多相關(guān)java結(jié)束當(dāng)前循環(huán)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java(TM) Platform SE binary 打開jar文件的操作
這篇文章主要介紹了Java(TM) Platform SE binary 打開jar文件的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
java正則表達(dá)式匹配規(guī)則超詳細(xì)總結(jié)
正則表達(dá)式并不僅限于某一種語言,但是在每種語言中有細(xì)微的差別,下面這篇文章主要給大家介紹了關(guān)于java正則表達(dá)式匹配規(guī)則的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10
SpringBoot 整合WebSocket 前端 uniapp 訪問的詳細(xì)方法
這篇文章主要介紹了SpringBoot 整合WebSocket 前端 uniapp 訪問的詳細(xì)方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-09-09
Java 實現(xiàn)協(xié)同過濾算法推薦算法的示例代碼
本文介紹了協(xié)同過濾算法的概念,包括基于用戶的協(xié)同過濾和基于物品的協(xié)同過濾,文章詳細(xì)解釋了數(shù)據(jù)準(zhǔn)備、相似度計算以及如何在Java中實現(xiàn)這些算法,通過一個簡單的用戶-物品評分矩陣示例,展示了如何計算用戶和物品之間的相似度,并推薦未評分的物品,感興趣的朋友一起看看吧2025-02-02
JavaWeb之Servlet注冊頁面的實現(xiàn)示例
注冊頁面是很多網(wǎng)站都會是使用的到,本文主要介紹了JavaWeb之Servlet注冊頁面的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04

