欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java中break和continue區(qū)別及使用場(chǎng)合分析

 更新時(shí)間:2014年01月19日 15:43:57   作者:  
本文力圖通過實(shí)例加使用場(chǎng)合詳解來引導(dǎo)菜鳥重新認(rèn)識(shí)break和continue語句,需要的朋友可以參考下
幾乎所有程序語言都有break和continue語句,可見它們的重要性,即使不重要相信也是夠?qū)嵱玫陌?。但是在真正的開發(fā)過程中,又有多少人會(huì)忽視它們的用法呢?相信初學(xué)者或者不關(guān)心程序優(yōu)化的人應(yīng)該對(duì)其了解的比較膚淺。本文力圖通過實(shí)例加使用場(chǎng)合詳解來引導(dǎo)菜鳥重新認(rèn)識(shí)break和continue語句。

注意:為了方便演示,本文例子選擇我喜愛的JavaScript語言,其它語言,比如C#、Java、Python等是一樣的用法。

一、先看MSDN關(guān)于break和continue語句的幫助說明

1、break 語句用于終止最近的封閉循環(huán)或它所在的 switch 語句??刂苽鬟f給終止語句后面的語句(如果有的話)。

2、continue 語句將控制權(quán)傳遞給它所在的封閉迭代語句的下一次迭代。

二、我對(duì)break和continue語句的解釋

通過對(duì)MSDN幫助的理解,我們可以得出以下結(jié)論:

1、break 語句在循環(huán)(for、for in,……)和switch等具有迭代選擇特征的語句中使用,而且是終止最近的封閉代碼塊(即多重循環(huán)時(shí),它只終止自己所在的循環(huán)),整體代碼接在break語句后繼續(xù)執(zhí)行(如果break語句不是最后一行代碼的話)。

2、continue語句與break語句使用場(chǎng)合類似,continue語句是不可以在單獨(dú)的switch語句中使用,但可以在一個(gè)循環(huán)內(nèi)的switch語句中使用。含有continue的迭代語句(或者叫循環(huán)語句),在遇到continue語句后,代碼先不按照常規(guī)的從上往下的代碼執(zhí)行順序執(zhí)行,而是馬上回到循環(huán)入口轉(zhuǎn)入下一次循環(huán)。

3、break和continue語句在循環(huán)內(nèi)的switch語句中使用時(shí),是有些區(qū)別的。break是跳出本switch,switch后面的代碼繼續(xù)執(zhí)行,而continue是不執(zhí)行switch后的代碼,可以理解為跳出循環(huán),接著進(jìn)入下一次循環(huán)。分別測(cè)試下面代碼使用break和continue兩種情況的輸出,如果使用continue,你會(huì)發(fā)現(xiàn)程序找到Microsoft后,document.write代碼不執(zhí)行了,輸出結(jié)果就比使用break少了一行。

復(fù)制代碼 代碼如下:

var company=new Array('Adobe','Apple','Google','Intel','Microsoft','Oracle','IBM','SUN');
for (var i in company)
{
    switch (company[i])
    {
    case 'Microsoft':
        continue;
        //break;
    }
    document.write('Me was run '+i);
}

三、break和continue語句的使用場(chǎng)合

1、break可以優(yōu)化程序,不讓程序多做些無用功。在下面的例子中,我們要從一個(gè)龐大的公司列表中找出Microsoft公司,一旦找到,就不會(huì)接著往下再找,比如下面語句用不用break是一樣的效果,但用了break語句,程序運(yùn)行的步驟就少了,除非要找的公司在最后面。我這里之所以強(qiáng)調(diào)“龐大”的列表,在于突顯break優(yōu)勢(shì),太少的話,也許你會(huì)認(rèn)為自己用if語句就行。

復(fù)制代碼 代碼如下:

var company=new Array('Adobe','Apple','Google','Intel','Microsoft','Oracle','IBM','SUN');

//在數(shù)組company中從左往右(或者說從前往后)尋找Microsoft,找到后通過break語句跳出循環(huán)。
for (var i in company)
{
    if (company[i]=='Microsoft')
    {
        document.write('Find Microsoft');
        break;
    }
}

通過腳本調(diào)試工具(比如Firefox瀏覽器的Firebug插件)單步調(diào)試可以發(fā)現(xiàn),使用了break語句,循環(huán)了五次便退出了循環(huán)。而沒有使用break語句的話,循環(huán)要遍歷完整個(gè)數(shù)組。



2、continue語句可以讓你直接在遍歷并查找符合條件的元素過程中直接處理這些符合條件的元素,而不用先找到符合條件的元素集,然后再在外面另外寫方法重新遍歷這些新找到的元素并做處理。試著對(duì)比以下兩種實(shí)現(xiàn)方法,你應(yīng)該明白continue的好處。

<1>不使用continue語句:

復(fù)制代碼 代碼如下:

var company=new Array('Adobe','Apple','Google','Intel','Microsoft','Oracle','IBM','SUN');
var findCompany=[];
for (var i in company)
{
    if (company[i]=='Microsoft'||company[i]=='IBM')
    {
        findCompany.push(company[i]);
    }
}
for (var i in findCompany)
{
    delete findCompany[i];
}

<2>使用continue語句:

復(fù)制代碼 代碼如下:

//演示continue語句用法,以下循環(huán)把非Microsoft和IBM的公司成員找出來刪除掉。
var company=new Array('Adobe','Apple','Google','Intel','Microsoft','Oracle','IBM','SUN');
for (var i in company)
{
    if (company[i]=='Microsoft'||company[i]=='IBM')
    {
        continue;
    }
    delete company[i];
}

相關(guān)文章

  • java小知識(shí)之查詢數(shù)據(jù)庫數(shù)據(jù)的元信息

    java小知識(shí)之查詢數(shù)據(jù)庫數(shù)據(jù)的元信息

    這篇文章主要給大家介紹了關(guān)于java小知識(shí)之查詢數(shù)據(jù)庫數(shù)據(jù)的元信息,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-10-10
  • 在IntelliJ IDEA中.idea文件是什么可以刪除嗎

    在IntelliJ IDEA中.idea文件是什么可以刪除嗎

    相信有很多小伙伴,在用idea寫java代碼的時(shí)候,創(chuàng)建工程總是會(huì)出現(xiàn).idea文件,該文件也從來沒去打開使用過,那么它在我們項(xiàng)目里面,扮演什么角色,到底能不能刪除它呢?這篇文章主要介紹了在IntelliJ IDEA中.idea文件是什么可以刪除嗎,需要的朋友可以參考下
    2024-01-01
  • MyBatis自定義映射resultMap的實(shí)現(xiàn)

    MyBatis自定義映射resultMap的實(shí)現(xiàn)

    本文主要介紹了MyBatis自定義映射resultMap的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Java輕松實(shí)現(xiàn)權(quán)限認(rèn)證管理的示例代碼

    Java輕松實(shí)現(xiàn)權(quán)限認(rèn)證管理的示例代碼

    我們?cè)趯?shí)際開發(fā)中經(jīng)常會(huì)進(jìn)行權(quán)限認(rèn)證管理,給不同的人加上對(duì)應(yīng)的角色和權(quán)限,本文將實(shí)現(xiàn)一個(gè)簡(jiǎn)易的權(quán)限驗(yàn)證管理系統(tǒng),感興趣的小伙伴可以了解下
    2023-12-12
  • java實(shí)現(xiàn)ModbusCRC16校驗(yàn)的示例代碼

    java實(shí)現(xiàn)ModbusCRC16校驗(yàn)的示例代碼

    本文介紹了使用Java實(shí)現(xiàn)ModbusCRC16校驗(yàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • Java基于NIO實(shí)現(xiàn)群聊功能

    Java基于NIO實(shí)現(xiàn)群聊功能

    這篇文章主要為大家詳細(xì)介紹了Java基于NIO實(shí)現(xiàn)群聊功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java中二維數(shù)組的正確使用方法介紹

    Java中二維數(shù)組的正確使用方法介紹

    Java中有一維數(shù)組,二維數(shù)組以及多維數(shù)組,在這篇文章中,將給大家詳細(xì)介紹一下如何正確使用Java中的二維數(shù)組,感興趣的小伙伴跟著小編一起學(xué)習(xí)吧
    2023-05-05
  • Java后端之俯瞰數(shù)據(jù)接收的三種方式

    Java后端之俯瞰數(shù)據(jù)接收的三種方式

    在前后端分離的開發(fā)項(xiàng)目中,前后端聯(lián)調(diào)的時(shí)候會(huì)出現(xiàn)這樣那樣的問題,尤其是在調(diào)取數(shù)據(jù)的程序上面,有時(shí)候前端給的前端給到后端的明明是正確的但就是無法拿到正確的數(shù)據(jù),下面小千就來給大家詳解一下常見的三種數(shù)據(jù)傳輸方式
    2021-10-10
  • Redis 集成Spring的示例代碼(spring-data-redis)

    Redis 集成Spring的示例代碼(spring-data-redis)

    本篇文章主要介紹了Redis 集成Spring的示例代碼(spring-data-redis) ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Java中Object和內(nèi)部類舉例詳解

    Java中Object和內(nèi)部類舉例詳解

    這篇文章主要介紹了Java中Object和內(nèi)部類的相關(guān)資料,Object類是Java中所有類的父類,提供了toString、hashCode和equals等方法,內(nèi)部類分為實(shí)例內(nèi)部類、靜態(tài)內(nèi)部類、匿名內(nèi)部類和局部?jī)?nèi)部類,需要的朋友可以參考下
    2025-05-05

最新評(píng)論