平特心水报图
新網絡營銷基礎與實踐

你的位置:首頁 >網絡營銷 >java switch

java switch

Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言。Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于PC、數據中心、游戲控制臺、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社群。

Java中的switch是“開關”的意思,有時也被劃分為一種“選擇語句”。根據一個整數表達式的值,switch語句可從一系列代碼選出一段執行。

switch ( 整型或字符型變量 )
{
case 變量可能值1 :
分支一;
break;
case 變量可能值2 :
分支二;
break;
case 變量可能值3 :
分支三;
break;
...
default :
最后分支;

在 switch 的語法里,我們要學到4個關鍵字:switch、case 、break、default

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

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

第一、switch ( 整型或字符型變量 ) 中,變量的類型如文中所標,只能是整型和字符類型。它們包含 int,char。當然無符類型或不同的長度整型(unsigned int,short,unsigned char)等都可以。另外,枚舉類型(enum)內部也是由整型或字符類型實現。所以也可以。實型(浮點型)數就不行,如:
float a = 0.123;
switch(a) //錯誤!a不是整型或字符類型變量。
{
....
}

第二、case 之后可以是直接的常量數值,如例中的1、2、3、4,也可以是一個使用常量計算式,如2+2等,但不能是變量或帶有變量的表達式,如 a * 2等。當然也不能是實型數,如4.1,或2.0 / 2 等。
switch(formWay)
{
case 2-1 : //正確
...
case a-2 : //錯誤
...
case 2.0 : //錯誤
...
}
另外,在case 與常量值之后,需要一個冒號,請注意不要疏忽。

第三、break 的作用。
break 使得程序在執行完選中的分支后,可以跳出整個switch語句(即跳到switch接的一對{}之后),完成switch。如果沒有這個break,程序將在繼續前進到下一分支,直到遇到后面的break或者switch完成。
比如,假設現在程序進入case 1: 中的分支,但case 1 的分支這回沒有加break:

case 1 :
System.out.println("您是通過搜索引擎來到本網站的。");
case 2 :
System.out.println("您是通過朋友介紹來到本網站的。");

那么,程序在輸出 "您是通過搜索引擎來到本網站的。" 之后,會繼續輸出case 2中的 "您是通過朋友介紹來到本網站的。" 。
請大家將前面實例中的代碼片段改為如下(紅色部分,即將所有的break都通過加//使之無效。):
...
case 1 :
System.out.println("您是通過搜索引擎來到本網站的。" );
//break;
case 2 :
System.out.println("您是通過朋友介紹來到本網站的。");
//break;
case 3 :
System.out.println("您是通過報刊雜志來到本網站的。");
//break;
case 4 :
System.out.println("您是通過其它方法來到本網站的。");
//break;
default :
System.out.println("錯誤的選擇!請輸入1~4的數字做出選擇。");
...

運行后,結果會是如何?請大家動手試試,然后在作業中回答我。

第四、default是可選中,前面我們已經說過它的用處,及如果沒有default,程序在找不到匹配的case分支后,將在switch語句范圍內不做什么事,直接完成switch。大家也可以在實例中將default的代碼注釋掉,然后試運行,并且在選擇時輸入5。
...
//default :
//cout << "錯誤的選擇!請輸入1~4的數字做出選擇。" << endl;
...

第五、必要時,可在各個case中使用{}來明確產生獨立的復合語句。
前面我們在講if...語句和其它流程控制語句時,都使用{}來產生復合語句:
if (條件)
{
分支一;
}
除非在分支中的語句正好只有一句,這里可以不需要花括號{}。但在switch的各個case語句里,我們在語法格式上就沒有標出要使用{},請看:
switch ( 整型或字符型變量 )
{
case 變量可能值1 :
分支一;
break;
case 變量可能值2 :
....
}

一般教科書上只是說 case 分支可以不使用{},但這里我想提醒大家,并不是任何情況下case分支都可以不加{},比如你想在某個case里定義一個變量:
switch (formWay)
{
case 1 :
int a=2; //錯誤。由于case不明確的范圍,編譯器無法在此處定義一個變量。
...
case 2 :
...
}

在這種情況下,加上{}可以解決問題。
switch (formWay)
{
case 1 :

int a=2; //正確,變量a被明確限定在當前{}范圍內。
...

case 2 :
...
}

網絡營銷詞典內容均由網友提供,僅供參考。

平特心水报图 分分彩投注软件下载app qq网球比分直播 第二十四章 卖新样品喜赚钱 十一选五甘肃预测号 双色球选蓝 世界上最赚钱的球队 辽宁快乐12怎么买 买彩票大小单双方法 高尔夫球怎么玩 七星彩开奖码走势图表