流程控制

程序結(jié)構(gòu)

  • 順序結(jié)構(gòu),選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)。

條件語(yǔ)句

  • if條件語(yǔ)句
  • if...else語(yǔ)句和if...elae if 語(yǔ)句多分支語(yǔ)句
  • 關(guān)于 switch 語(yǔ)句的說(shuō)明:
  1. switch(表達(dá)式)中表達(dá)式的返回值必須是下述幾種類(lèi)型之一:byte,short,char, int,枚舉,String(JDK7 之后支持);
  2. case 子句中的值必須是常量,且所有 case 子句中的值應(yīng)是不同的;
  3. default 子句是可任選的,當(dāng)沒(méi)有匹配的 case 時(shí),執(zhí)行 default;
  4. break 語(yǔ)句用來(lái)在執(zhí)行完一個(gè) case 分支后使程序跳出 switch 語(yǔ)句塊;如果沒(méi)有 break,程序會(huì)順序執(zhí)行到 switch 結(jié)尾。
  • if 和 switch 使用場(chǎng)景比較
    1.if 語(yǔ)句使用場(chǎng)景
    針對(duì)結(jié)果是 boolean 類(lèi)型的判斷
    針對(duì)一個(gè)范圍的判斷
    針對(duì)幾個(gè)常量值的判斷
  1. switch 語(yǔ)句使用場(chǎng)景
    針對(duì)幾個(gè)常量值的判斷

循環(huán)語(yǔ)句

  • for循環(huán):
    for(初始化語(yǔ)句;判斷條件語(yǔ)句;控制條件語(yǔ)句) {
    循環(huán)語(yǔ)句體;
    }

  • while循環(huán):
    初始化語(yǔ)句;
    while(判斷條件語(yǔ)句){
    循環(huán)體語(yǔ)句;
    控制條件語(yǔ)句;
    }

while和for沒(méi)有本質(zhì)區(qū)別,也沒(méi)有速度區(qū)別。在表達(dá)能力上二者完全等價(jià)。細(xì)微的區(qū)別在于for循環(huán)和while循環(huán)會(huì)在loop statement前多做一次conditional jump。do_while則不會(huì)。

跳轉(zhuǎn)語(yǔ)句

  • break語(yǔ)句:
    break語(yǔ)句會(huì)使運(yùn)行的程序立刻退出包含在最內(nèi)層的循環(huán)或者退出一個(gè)switch語(yǔ)句。
    由于它是用來(lái)退出循環(huán)或者switch語(yǔ)句,所以只有當(dāng)它出現(xiàn)在這些語(yǔ)句時(shí),這種形式的break語(yǔ)句才是合法的。
    for(var i=1;i<=10;i++) {
    if(i==8) {
    break;
    }
    document.write(i);
    }

當(dāng)i=8的時(shí)候,直接退出for這個(gè)循環(huán)。這個(gè)循環(huán)將不再被執(zhí)行!
//輸出結(jié)果:1234567

  • continue語(yǔ)句:
    continue語(yǔ)句和break語(yǔ)句相似。所不同的是,它不是退出一個(gè)循環(huán),而是開(kāi)始循環(huán)的一次新迭代。
    continue語(yǔ)句只能用在while語(yǔ)句、do/while語(yǔ)句、for語(yǔ)句、或者for/in語(yǔ)句的循環(huán)體內(nèi),在其它地方使用都會(huì)引起錯(cuò)誤!
    for(var i=1;i<=10;i++) {
    if(i==8) {
    continue;
    }
    document.write(i);
    }

當(dāng)i=8的時(shí)候,直接跳出本次for循環(huán)。下次繼續(xù)執(zhí)行。
//輸出結(jié)果:1234567910

  • 1.for一般是在循環(huán)個(gè)數(shù)已知的情況下使用的
    2.while一般是在循環(huán)個(gè)數(shù)未知,且循環(huán)受到嚴(yán)格控制的情況下使用的。
    3.do-while一般也是在循環(huán)個(gè)數(shù)未知,但是它和while最大的不同點(diǎn)在于,不管循環(huán)的條件是什么,do-while都會(huì)至少執(zhí)行一次。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • java的流程控制語(yǔ)句包含條件語(yǔ)句和循環(huán)語(yǔ)句 一.什么是流程控制語(yǔ)句? ·流程控制語(yǔ)句:可以控制程序的執(zhí)行流程。 ...
    全棧攻城獅DWQ閱讀 11,282評(píng)論 0 1
  • 一、流程控制語(yǔ)句的簡(jiǎn)介 ??在一個(gè)程序執(zhí)行的過(guò)程中,各條語(yǔ)句的執(zhí)行順序?qū)Τ绦虻慕Y(jié)果是有直接影響的。也就是說(shuō)程序的流...
    嗷老板閱讀 592評(píng)論 0 3
  • 流程控制基本概念 默認(rèn)情況下程序運(yùn)行后,系統(tǒng)會(huì)按書(shū)寫(xiě)順序從上至下依次執(zhí)行程序中的每一行代碼。但是這并不能滿足我們所...
    極客學(xué)院凱閱讀 254評(píng)論 0 1
  • 流程控制基本概念 默認(rèn)情況下程序運(yùn)行后,系統(tǒng)會(huì)按書(shū)寫(xiě)順序從上至下依次執(zhí)行程序中的每一行代碼。但是這并不能滿足我們所...
    極客江南閱讀 1,406評(píng)論 1 12
  • 今天看加州大學(xué)公開(kāi)課《家庭與伴侶-親密關(guān)系》突然想起來(lái)以前看過(guò)的一個(gè)故事,正好能解釋“作”一系列問(wèn)題。 記不清...
    莎莎吖閱讀 269評(píng)論 0 0

友情鏈接更多精彩內(nèi)容