程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java中的一直不能掌握的switch-case語句

Java中的一直不能掌握的switch-case語句

編輯:關於JAVA

對於流程控制中的switch-case語句,一直是我的一個弱項.

每當考試或者面試筆試的時候,總是丈二和尚摸不著頭腦,我想這應該是我基礎太差的原因吧!

為了徹底解決這個心病,不得不花點功夫了!

首先從原理上來闡述這個問題:

switch(表達式)

{

case 常量表達式1:語句1;

....

case 常量表達式2:語句2;

default:語句;

}

1.default就是如果沒有符合的case就執行它,default並不是必須的.

2.case後的語句可以不用大括號.

3.switch語句的判斷條件可以接受int,byte,char,short,不能接受其他類型.

4.一旦case匹配,就會順序執行後面的程序代碼,而不管後面的case是否匹配,直到遇見break,利用這一特性可以讓好幾個case執行統一語句.

原理歸原理,下面是幾個容易混淆的例子.

1.標准型(case後面都有break語句)

int i=3;

switch(i)

{

case 1:

System.out.println(1);

break;

case 2:

System.out.println(2);

break;

case 3:

System.out.println(3);

break;

default:

System.out.println("default");

break;

}

輸出結果:

3

2.特殊型1(不是完全有break語句,可以完成一些特殊應用)

int year=2005;

int month=3;

int day;

switch(month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

day=31;

break;

case 2:

day=28;

break;

case 4:

case 6:

case 9:

case 11:

day=30;

break;

}

這裡 day=31;

3.特殊型2(default的位置)

int i=1;

switch(i)

{

case 1:

System.out.println(1);

default:

System.out.println("default");

case 2:

System.out.println(2);

break;

case 3:

System.out.println(3);

break;

}

輸出結果:

1

default

2

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved