在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    Java學(xué)習(xí)筆記(三):結(jié)構(gòu)性語句

    結(jié)構(gòu)性語句

    結(jié)構(gòu)性語句主要有順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)三種,下面分別進行介紹。

    順序結(jié)構(gòu):

    顧名思義,順序結(jié)構(gòu)就是從上往下依次執(zhí)行,這個比較簡單,不用再多說。其實其他結(jié)構(gòu)性語句的基本邏輯也是從上往下依次執(zhí)行,只不過因為不同的代碼語句在此基礎(chǔ)上有其他的特點。

    選擇結(jié)構(gòu):

    選擇結(jié)構(gòu)主要有兩種,一種是if語句,一種是switch語句。下面分別介紹。

    if選擇語句:

    if有三種格式,第一種格式是if最基本的最原始的格式:

    if(boolean數(shù)據(jù)類型){語句;}

    括號內(nèi)必須是布爾類型數(shù)據(jù),當(dāng)為true時,執(zhí)行后面的語句,當(dāng)W為false時,不執(zhí)行后面的語句;如果后面只有一條語句,可以不用大括號括起來,但如果有多條語句,就必須使用大括號將所有語句括起來,這是因為if只能作用緊跟它后面的一條語句。

    假如設(shè)成績?yōu)閟core,括號內(nèi)為score>60;當(dāng)score符合括號內(nèi)條件,語句輸出及格,由第一種if格式可以實現(xiàn),那么如果score不符合括號內(nèi)條件;我們想要輸出不及格時,應(yīng)該怎么辦呢?由此得出if的第二種格式:

    if(boolean數(shù)據(jù)類型){

    語句1;

    }else{

    語句2;

    }

    當(dāng)if后的小括號內(nèi)為true時,執(zhí)行語句1;當(dāng)if后的小括號內(nèi)為false時,執(zhí)行語句2。

    第二種格式的作用是二者選其一,那如果可選項多于兩個,選擇其中一個,應(yīng)該怎么辦呢?這時有了if的第三種結(jié)構(gòu):

    if(boolean數(shù)據(jù)類型){

    語句1;

    }else if(boolean數(shù)據(jù)類型){

    語句2;

    }else if(boolean數(shù)據(jù)類型){

    語句3;

    }else{

    語句4;

    }

    看輸入數(shù)據(jù)符合哪個條件,就執(zhí)行哪個語句;最典型的例子是輸入成績判斷等級,這里不再寫出來了,大家可以去網(wǎng)上搜一搜,有好多這樣的例子,代碼、注釋都很清楚。

    Switch選擇語句:

    Switch選擇語句只有一種基本結(jié)構(gòu),我們首先來看一下它:

    Switch(變量或表達式){

    Case 值1:語句1;break;

    Case 值2:語句2;break;

    Case 值3:語句3;break;

    ……

    Case 值n;語句n;break;

    Default:語句m;break;

    }

    它的執(zhí)行過程是這樣的:switch后面的小括號里是變量或表達式,而case后面的值只能是常量,將小括號里的內(nèi)容依次和case后的常量值比較,與哪個值相等,就執(zhí)行哪個case后的語句,并且退出。

    Switch結(jié)構(gòu)語句中有幾點注意事項需要注意:

  • case后的值只能是常量
  • case不能重復(fù)判斷
  • switch后面的小括號里的數(shù)據(jù)類型只能是byte、short、int、long、枚舉、String這6種之一
  • default可以省略,并且default的位置可以在任何位置,不是必須在最后,但要注意,無論default的位置在哪里,在執(zhí)行順序上總是最后,也就是說只有執(zhí)行完所有的case才能執(zhí)行default。
  • break也可以省略,break的作用是結(jié)束switch語句,當(dāng)它省略的時候,就會發(fā)生case穿透現(xiàn)象,這個現(xiàn)象還是挺重要的。下面舉個例子說明一下:
  • int a=1;

    switch(a){

    case 1:System.out.println(“找到”);

    case 2:System.out.println(“不對”);

    case 3:System.out.println(“也不對”);

    }

    如果每條語句后存在break,那么在第一條語句匹配的時候,輸出“找到”,然后就會退出,但這里沒有break,所以輸出“找到”后,程序依次執(zhí)行下面的語句,輸出“不對”,“也不對”,甚至case都不進行判斷了,就算是個default,程序也會執(zhí)行,大家可以試一試。

    同樣,對其它幾條注意事項,大家也可以練一練,比如第一條,case后只能是常量,你就偏把case后的值寫成其他類型,看會不會報錯。

    循環(huán)結(jié)構(gòu):

    循環(huán)結(jié)構(gòu)主要有兩種,一種是for循環(huán),一種是while循環(huán),下面分別介紹。

    For循環(huán)語句:

    For循環(huán)語句的格式為:

    For(初始化語句;條件判斷語句;循環(huán)語句){循環(huán)體};

    其實它的最基本的結(jié)構(gòu)是:

    For(語句;boolean類型數(shù)據(jù);語句)語句;

    和if、switch一樣,for也只能控制它后面的一條語句,所以當(dāng)有多條語句時就需要加上大括號,這樣就形成了循環(huán)體。

    While循環(huán)語句:

    While循環(huán)語句的格式為:

    初始化語句;

    While(循環(huán)語句){

    循環(huán)體;

    條件判斷語句;

    }

    同樣,它的最基本的結(jié)構(gòu)并不是這樣,而是:

    While(循環(huán)語句){

    循環(huán)體;

    }

    其中循環(huán)語句是布爾類型的,例如:

    While(true){

    System.out.println(“helloworld”);

    }

    當(dāng)括號內(nèi)為true時,輸出helloworld,但我們可以發(fā)現(xiàn),true不會變,一直是true,所以它會一直輸出helloworld不停止,是個死循環(huán),因此我們可以把true改為一個表達式,例如a>5;當(dāng)表達式為true時循環(huán),否則循環(huán)終止,這樣也就需要用到了初始化語句和條件判斷語句。例如:

    int a=0;

    while(a<3){

    system.out.println(“你好世界”);

    a++;

    }

    輸出結(jié)果為:

    你好世界

    你好世界

    你好世界

    附加:除了這兩種循環(huán)結(jié)構(gòu),還有一個do while循環(huán),他的結(jié)構(gòu)是:

    Do{

    循環(huán)體;

    }while(循環(huán)語句);

    很多人都說do while循環(huán)是先執(zhí)行再判斷,while循環(huán)是先判斷再執(zhí)行;但事實不是這樣,咱們可以用do while和while寫個循環(huán),然后一條語句一條語句,一次循環(huán)一次循環(huán)地試一試,會發(fā)現(xiàn),do while循環(huán)就相當(dāng)于while循環(huán)第一次不進行判斷,直接執(zhí)行循環(huán)體,從第二次開始,就和while循環(huán)一模一樣,先判斷,再執(zhí)行。

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
    上一篇 2022年7月19日 18:54
    下一篇 2022年7月19日 18:54

    相關(guān)推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息