這節我們看一下判斷結構中的switch語句,也就是選擇語句.
switch語句的格式如下:
~~~
switch(表達式)//這里的表達式只直持byte short int char這四種類型
{
case 取值1:
執行語句;
break;
case 取值2:
執行語句;
break;
......
default:
執行語句;
break;
}
~~~
注意表達式只直持byte,short,int和char這四種類型.
對于switch語句來說,無論表達式是什么,都會從第一個case開始執行,并且一般每case中都有break語句.
default語句可以省略,但一般不這么做,當case中沒有對應的結果,就執行default語句.
記住:default語句可以放任case的位置,但是執行的時候defualt語句都是最后執行.
下面我們看一個switch用法的例子
~~~
class SwitchTest
{
public static void main(String[] args)
{
/*
用戶輸入的數據對應的出星期.
*/
int week = 5;//隨意值
switch(week)//判斷輸入的數字,到下面的case中找答案,找到之后執行對應case中的語句.
{
case 1:
System.out.println(week+"對應的是星期一");
break;
case 2:
System.out.println(week+"對應的是星期二");
break;
case 3:
System.out.println(week+"對應的是星期三");
break;
case 4:
System.out.println(week+"對應的是星期四");
break;
case 5:
System.out.println(week+"對應的是星期五");
break;
case 6:
System.out.println(week+"對應的是星期六");
break;
case 7:
System.out.println(week+"對應的是星期七");
break;
default:
System.out.println(week+"沒有對應的星期");
break;
}
/*
季節
*/
int month = 6;
switch(month)
{
case 3:
case 4:
case 5:
System.out.println(month+"月是春季");
break;
case 6:
case 7:
case 8:
System.out.println(month+"月是春季");
break;
case 9:
case 10:
case 11:
System.out.println(month+"月是春季");
break;
case 12:
case 1:
case 2:
System.out.println(month+"月是春季");
break;
default:
System.out.println(month+"月沒有對應的季節");
break;
}
}
}
~~~
和上一節的例子對比,我們看到if語句和switch語句都實現了相同的季節選擇,那我們就說說這兩種語句的區別.
if:
1.對具體的值進行判斷
2.對區間判斷
3.對運算結果是boolean類型的表達式進行判斷
switch:
1.對具體的值進行判斷
2.值的個數通常是固定的
3.對于幾個固定的值判斷,建議使用switch語句,因為swich語句會將具體的答案都加載進內在
4.效率相對高一點
5.功能性較差
6.書寫麻煩
- 前言
- 1.1 基本常識
- 1.2 Java語言概述
- 1.3 Java語言的環境搭建
- 1.4 Java程序開發之初體驗--Hello World
- 2.1 關鍵字
- 2.2 標識符
- 2.3 注釋
- 2.4 常量
- 2.5 進制掃盲
- 2.6 變量和數據類型(1)
- 2.7 變量和數據類型(2)
- 2.8 運算符
- 3.1 if語句
- 3.2 switch語句
- 3.3 while和do-while語句
- 3.4 for語句
- 3.5 for循環的嵌套
- 3.6 break語句與continue語句
- 4.1 函數的定義
- 4.2 定義函數的兩個明確
- 4.3 函數的內存加載過程
- 4.4 函數的重載
- 5.1 數組的定義
- 5.2 數組的內存分配及特點
- 5.3 數組操作中常見問題
- 5.4 數組常用操作(1)
- 5.5 數組常用操作(2)
- 5.6 二維數組
- 6.1 面向對象的概述
- 6.2 類與對象的關系
- 6.3 對象的內存體現
- 6.4 成員變量與局部變量
- 6.5 類類型參數與匿名對象
- 6.6 基本數據類型參數與引用數據類型參數的傳遞過程
- 6.7 封裝
- 7.1 構造函數概述與默認構造函數
- 7.2 構造函數與一般函數的區別
- 7.3 構造函數的重載
- 7.4 構造函數的內存加載
- 7.5 構造函數需要注意的幾個細節
- 7.6 this關鍵字的原理
- 7.7 this關鍵字的細節與應用
- 8.1 static關鍵字之特點
- 8.2 成員變量與靜態變量的區別
- 8.3 static關鍵字使用的注意細節
- 8.4 main函數的解析與細節
- 8.5 static關鍵字的使用場景
- 8.6 靜態的內存加載
- 8.7 靜態代碼塊
- 8.8 構造代碼塊
- 9.1 繼承
- 9.2 單繼承與多重繼承
- 9.3 子父類中成員變量特征體現