一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java中break和continue區別及使用場合分析

java中break和continue區別及使用場合分析

2019-11-03 17:42java教程網 JAVA教程

本文力圖通過實例加使用場合詳解來引導菜鳥重新認識break和continue語句,需要的朋友可以參考下

幾乎所有程序語言都有break和continue語句,可見它們的重要性,即使不重要相信也是夠實用的吧。但是在真正的開發過程中,又有多少人會忽視它們的用法呢?相信初學者或者不關心程序優化的人應該對其了解的比較膚淺。本文力圖通過實例加使用場合詳解來引導菜鳥重新認識break和continue語句。

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

一、先看MSDN關于break和continue語句的幫助說明

1、break 語句用于終止最近的封閉循環或它所在的 switch 語句。控制傳遞給終止語句后面的語句(如果有的話)。

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

二、我對break和continue語句的解釋

通過對MSDN幫助的理解,我們可以得出以下結論:

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

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

3、break和continue語句在循環內的switch語句中使用時,是有些區別的。break是跳出本switch,switch后面的代碼繼續執行,而continue是不執行switch后的代碼,可以理解為跳出循環,接著進入下一次循環。分別測試下面代碼使用break和continue兩種情況的輸出,如果使用continue,你會發現程序找到Microsoft后,document.write代碼不執行了,輸出結果就比使用break少了一行。

 

復制代碼代碼如下:


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語句的使用場合

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

 

復制代碼代碼如下:


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

 

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

 

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

java中break和continue區別及使用場合分析
 

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

<1>不使用continue語句:

 

復制代碼代碼如下:


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語句:

 

復制代碼代碼如下:


//演示continue語句用法,以下循環把非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];
}

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 四虎com | 好湿好紧太硬了我太爽了网站 | 男同志gays| 亚洲高清在线天堂精品 | 免费高清视频免费观看 | 欧美性色欧美a在线播放 | 欧美一级艳片视频免费观看 | 日本高清色视影www日本 | 男人使劲躁女人视频免费 | www.色婷婷.com| 男男双性生子产乳高辣h | 亚洲成综合人影院在院播放 | 精品国产成人a区在线观看 精品国产91久久久久久久 | 四虎永久免费在线观看 | 好大好硬好深好爽gif图 | 操比软件| 午夜福利理论片在线播放 | 日本人成在线视频免费播放 | 日韩成人一区ftp在线播放 | 水蜜桃一二二区视在线 | 大胆国模一区二区三区伊人 | 欧美18-19 | 成人18网址在线观看 | 亚洲一二三区久久五月天婷婷 | 日本花季传媒2020旧版安卓 | 午夜一个人在线观看完整版 | 成人免费网址 | 视频二区 素人 制服 国产 | 成人免费观看在线视频 | 精品在线免费播放 | 国产精品免费久久久久影院 | 成人福利免费在线观看 | 国色天香 社区视频 | 俄罗斯女人与公拘i交酡 | 亚洲一区二区三区深夜天堂 | 性做久久久久免费观看 | 校园全黄h全肉细节文 | 日韩激情视频在线观看 | 色综合久久中文字幕综合网 | 国产免费一区二区三区 | 91制片厂制作果冻传媒破解 |