免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
java switch語句詳解

switch 語句的格式:

 

switch ( 整型或字符型變量 )

{

     case 變量可能值1: 

        分支一;

        break;

  case 變量可能值2 : 

        分支二;

        break;

  case 變量可能值3 : 

        分支三;

        break;

  ...

  default :

      最后分支;

 

在 switch 的語法里,我們要學(xué)到4個(gè)關(guān)鍵字:switch、case、break、default。

 

在 switch ( 變量) 這一行里,變量只能是整型或字符型。程序先讀出這個(gè)變量的值,然后在各個(gè)"case"里查找哪個(gè)值和這個(gè)變量相等,如果相等,就算條件成立,程序執(zhí)行相應(yīng)的分支,直到碰上break或者switch語句結(jié)束。

 

 

了解一下switch,case,break,default的意思,對(duì)理解前面的一切也會(huì)有幫助,它們分別是:開關(guān),情況,中斷,默認(rèn)(值)。那么用一句話套起來的說法就是:根據(jù)開關(guān)值的不同,執(zhí)行不同的情況,直到遇上中斷;如果所有的情況都不符合開關(guān)值,那么就執(zhí)行默認(rèn)的分支。

 

最后說一下關(guān)于switch中非常重要的幾個(gè)注意點(diǎn)。

 

第一、switch ( 整型或字符型變量) 中,變量的類型如文中所標(biāo),只能是整型和字符類型。它們包含 int,char。當(dāng)然無符類型或不同的長度整型(unsignedint,short,unsignedchar)等都可以。另外,枚舉類型(enum)內(nèi)部也是由整型或字符類型實(shí)現(xiàn)。所以也可以。實(shí)型(浮點(diǎn)型)數(shù)就不行,如:

float a = 0.123;

switch(a)//錯(cuò)誤!a不是整型或字符類型變量。  

{

  ....

}

 

第二、case 之后可以是直接的常量數(shù)值,如例中的1、2、3、4,也可以是一個(gè)使用常量計(jì)算式,如2+2等,但不能是變量或帶有變量的表達(dá)式,如a * 2等。當(dāng)然也不能是實(shí)型數(shù),如4.1,或2.0 / 2 等。

switch(formWay)

{

  case 2-1 :  //正確

    ...

  case a-2 :  //錯(cuò)誤

    ...

  case 2.0 :  //錯(cuò)誤

    ...

}

另外,在case 與常量值之后,需要一個(gè)冒號(hào),請(qǐng)注意不要疏忽。

 

第三、break 的作用。

break使得程序在執(zhí)行完選中的分支后,可以跳出整個(gè)switch語句(即跳到switch接的一對(duì){}之后),完成switch。如果沒有這個(gè)break,程序?qū)⒃诶^續(xù)前進(jìn)到下一分支,直到遇到后面的break或者switch完成。

比如,假設(shè)現(xiàn)在程序進(jìn)入case 1: 中的分支,但case1 的分支這回沒有加break:

 

case 1 :

   System.out.println("您是通過搜索引擎來到本網(wǎng)站的。");

case 2 : 

   System.out.println("您是通過朋友介紹來到本網(wǎng)站的。");

 

那么,程序在輸出 "您是通過搜索引擎來到本網(wǎng)站的。" 之后,會(huì)繼續(xù)輸出case2中的 "您是通過朋友介紹來到本網(wǎng)站的。" 。

請(qǐng)大家將前面實(shí)例中的代碼片段改為如下(紅色部分,即將所有的break都通過加//使之無效。):

    ...

  case 1 : 

      System.out.println("您是通過搜索引擎來到本網(wǎng)站的。" );

      //break;

    case 2: 

      System.out.println("您是通過朋友介紹來到本網(wǎng)站的。");

      //break;

    case 3: 

      System.out.println("您是通過報(bào)刊雜志來到本網(wǎng)站的。");

      //break;

    case 4: 

      System.out.println("您是通過其它方法來到本網(wǎng)站的。");

      //break;

    default:

      System.out.println("錯(cuò)誤的選擇!請(qǐng)輸入1~4的數(shù)字做出選擇。");

    ...

 

運(yùn)行后,結(jié)果會(huì)是如何?請(qǐng)大家動(dòng)手試試,然后在作業(yè)中回答我。

 

第四、default是可選中,前面我們已經(jīng)說過它的用處,及如果沒有default,程序在找不到匹配的case分支后,將在switch語句范圍內(nèi)不做什么事,直接完成switch。大家也可以在實(shí)例中將default的代碼注釋掉,然后試運(yùn)行,并且在選擇時(shí)輸入5。

...

//default :

  //cout << "錯(cuò)誤的選擇!請(qǐng)輸入1~4的數(shù)字做出選擇。"<< endl;

...

 

第五、必要時(shí),可在各個(gè)case中使用{}來明確產(chǎn)生獨(dú)立的復(fù)合語句。

前面我們?cè)谥vif...語句和其它流程控制語句時(shí),都使用{}來產(chǎn)生復(fù)合語句:

if (條件)

{

  分支一;

}

除非在分支中的語句正好只有一句,這里可以不需要花括號(hào){}。但在switch的各個(gè)case語句里,我們?cè)谡Z法格式上就沒有標(biāo)出要使用{},請(qǐng)看:

switch ( 整型或字符型變量 )

{

     case 變量可能值1: 

        分支一;

        break;

  case 變量可能值2 : 

     ....

}

 

一般教科書上只是說 case分支可以不使用{},但這里我想提醒大家,并不是任何情況下case分支都可以不加{},比如你想在某個(gè)case里定義一個(gè)變量:

switch (formWay)

{

  case 1 :

    int a=2;  //錯(cuò)誤。由于case不明確的范圍,編譯器無法在此處定義一個(gè)變量。

    ...

  case 2 :

    ...

}

 

在這種情況下,加上{}可以解決問題。

switch (formWay)

{

  case 1 :

?。?/p>

    int a=2;  //正確,變量a被明確限定在當(dāng)前{}范圍內(nèi)。

    ...

 ?。?/p>

  case 2 :

    ...

}

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java7新增特性——控制語句部分
switch case語法_switchcase
Java 分支結(jié)構(gòu)
java中switch?case用法 - Java基礎(chǔ) 基礎(chǔ)入門 - Java1995文章...
Java入門(7)Java流程控制
Switch-case
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服