亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 4279 | 回復(fù): 0
打印 上一主題 下一主題

小白也理解switch語句 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-05-05 11:59 |只看該作者 |倒序?yàn)g覽
一、switch語句的使用
而如果再和if-then-else語句,switch語句可以有多個(gè)可能的執(zhí)行路徑。開關(guān)與字節(jié),短,char,int和

原始數(shù)據(jù)類型。它還與枚舉類型(在枚舉類型的討論),string的類,以及一些特殊的類包一定的原始

類型:字符,字節(jié),短,和整數(shù)(在數(shù)字和字符串的討論)。
下面的代碼示例,switchdemo,聲明一個(gè)int的值代表一個(gè)名叫月。該代碼顯示每個(gè)月的名稱,根據(jù)月值

,使用switch語句。
public class SwitchDemo {
    public static void main(String[] args) {

        int month = 8;
        String monthString;
        switch (month) {
            case 1:  monthString = "January";
                     break;
            case 2:  monthString = "February";
                     break;
            case 3:  monthString = "March";
                     break;
            case 4:  monthString = "April";
                     break;
            case 5:  monthString = "May";
                     break;
            case 6:  monthString = "June";
                     break;
            case 7:  monthString = "July";
                     break;
            case 8:  monthString = "August";
                     break;
            case 9:  monthString = "September";
                     break;
            case 10: monthString = "October";
                     break;
            case 11: monthString = "November";
                     break;
            case 12: monthString = "December";
                     break;
            default: monthString = "Invalid month";
                     break;
        }
        System.out.println(monthString);
    }
}
在這種情況下,八月打印到標(biāo)準(zhǔn)輸出。
switch語句體就是一個(gè)開關(guān)塊。在開關(guān)語句塊可以標(biāo)記與一個(gè)或多個(gè)案例或默認(rèn)標(biāo)簽。switch語句對(duì)其

表達(dá),然后執(zhí)行的所有語句,遵循匹配的case標(biāo)號(hào)。
你也可以顯示每個(gè)月的名稱與if-then-else語句:
nt month = 8;
if (month == 1) {
    System.out.println("January");
} else if (month == 2) {
    System.out.println("February");
}
...  // 等等

決定是否使用if-then-else語句或語句是基于可讀性,語句的表達(dá)式的測(cè)試。一個(gè)if-then-else語句可

以測(cè)試基于值的范圍或條件表達(dá)式,而開關(guān)語句測(cè)試表達(dá)式僅基于一個(gè)整數(shù),枚舉值,或字符串對(duì)象。
另一個(gè)興趣點(diǎn)是break語句。每一個(gè)break語句終止封閉開關(guān)語句。控制流繼續(xù)下面的開關(guān)塊的第一個(gè)語

句。break語句是必要的因?yàn)闆]有他們,在開關(guān)塊語句失。核袌(bào)表匹配的case標(biāo)號(hào)后依次執(zhí)行,無論

后續(xù)case標(biāo)簽的表達(dá),直到遇到break語句是。程序switchdemofallthrough顯示報(bào)表中的一個(gè)開關(guān)塊落

空。該程序顯示對(duì)應(yīng)的整數(shù)月和月,按照年月:
public class SwitchDemoFallThrough {

    public static void main(String[] args) {
        java.util.ArrayList<String> futureMonths =
            new java.util.ArrayList<String>();

        int month = 8;

        switch (month) {
            case 1:  futureMonths.add("January");
            case 2:  futureMonths.add("February");
            case 3:  futureMonths.add("March");
            case 4:  futureMonths.add("April");
            case 5:  futureMonths.add("May");
            case 6:  futureMonths.add("June");
            case 7:  futureMonths.add("July");
            case 8:  futureMonths.add("August");
            case 9:  futureMonths.add("September");
            case 10: futureMonths.add("October");
            case 11: futureMonths.add("November");
            case 12: futureMonths.add("December");
                     break;
            default: break;
        }

        if (futureMonths.isEmpty()) {
            System.out.println("Invalid month number");
        } else {
            for (String monthName : futureMonths) {
               System.out.println(monthName);
            }
        }
    }
}
這是從代碼的輸出:

August
September
October
November
December

從技術(shù)上講,最后的突破是不需要因?yàn)榱髌俨紡膕witch語句。利用休息的建議,修改代碼更容易,更不

容易出錯(cuò)。默認(rèn)的部分處理所有的值都沒有一個(gè)明確的情況下部分處理。
下面的代碼示例,switchdemo2,顯示如何聲明可以有多個(gè)case標(biāo)簽。該代碼示例計(jì)算在一個(gè)特定的天數(shù)


class SwitchDemo2 {
    public static void main(String[] args) {

        int month = 2;
        int year = 2000;
        int numDays = 0;

        switch (month) {
            case 1: case 3: case 5:
            case 7: case 8: case 10:
            case 12:
                numDays = 31;
                break;
            case 4: case 6:
            case 9: case 11:
                numDays = 30;
                break;
            case 2:
                if (((year % 4 == 0) &&
                     !(year % 100 == 0))
                     || (year % 400 == 0))
                    numDays = 29;
                else
                    numDays = 28;
                break;
            default:
                System.out.println("Invalid month.");
                break;
        }
        System.out.println("Number of Days = "
                           + numDays);
    }
}
這是從代碼的輸出:
Number of Days = 29

二、在switch語句中使用字符串
在Java SE 7和之后,你可以在switch語句中的表達(dá)式中使用一個(gè)字符串對(duì)象。下面的代碼示例,

stringswitchdemo,展示了基于字符串的值為月的月數(shù):

public class StringSwitchDemo {

    public static int getMonthNumber(String month) {

        int monthNumber = 0;

        if (month == null) {
            return monthNumber;
        }

        switch (month.toLowerCase()) {
            case "january":
                monthNumber = 1;
                break;
            case "february":
                monthNumber = 2;
                break;
            case "march":
                monthNumber = 3;
                break;
            case "april":
                monthNumber = 4;
                break;
            case "may":
                monthNumber = 5;
                break;
            case "june":
                monthNumber = 6;
                break;
            case "july":
                monthNumber = 7;
                break;
            case "august":
                monthNumber = 8;
                break;
            case "september":
                monthNumber = 9;
                break;
            case "october":
                monthNumber = 10;
                break;
            case "november":
                monthNumber = 11;
                break;
            case "december":
                monthNumber = 12;
                break;
            default:
                monthNumber = 0;
                break;
        }

        return monthNumber;
    }

    public static void main(String[] args) {

        String month = "August";

        int returnedMonthNumber =
            StringSwitchDemo.getMonthNumber(month);

        if (returnedMonthNumber == 0) {
            System.out.println("Invalid month");
        } else {
            System.out.println(returnedMonthNumber);
        }
    }
}
從這個(gè)代碼的輸出是 8.
switch表達(dá)式中的字符串與每個(gè)case標(biāo)簽相關(guān)的如string.equals方法被用來表達(dá)的比較。為了

stringswitchdemo例接受任何月姑,月轉(zhuǎn)換為小寫(與toLowerCase方法),以及所有與案件相關(guān)的字符

串小寫標(biāo)簽。
注:此示例檢查在switch語句的表達(dá)是無效的。確保在任何開關(guān)語句的表達(dá)式是無效的防止一個(gè)

NullPointerException異常被拋出。
本文轉(zhuǎn)載于toceansoft.com
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP