一. 塊作用域
不能在嵌套的兩個塊中聲明同名的變量。
public static void main(String[] args){
int n;
. . .
{
int k;
int n; // Error--can't redefine n in inner block
. . .
}
}
二. if語句
- 三元運算符的操作都可以用if語句改進,反之不成立。
當if語句控制的語句體是一條輸出語句時。
習題1:獲取兩個數中的最大值
習題2:判斷一個數是奇數還是偶數
習題3:鍵盤錄入一個成績,判斷并輸出成績的等級。
90-100:優秀
80-90:好
70-80:良
60-70:及格
60以下:不及格
習題四:獲取三個數據中的最大值
三. switch語句
- switch語句格式:
switch(表達式)
{
case 值1:
語句體1;
break;
case 值2:
語句體2;
break;
…
default:
語句體n+1;
break;
}
- 執行流程
- 首先計算出表達式的值
- 其次,和case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程中,遇到break就會結束。
- 最后,如果所有的case都和表達式的值不匹配,就會執行default語句體部分,然后程序結束掉。
- case標簽可以是:
- byte,short,int,char。
- JDK5以后可以是枚舉
- JDK7以后可以是String
荔枝一:
String input = . . .;
switch (input.toLowerCase())
{
case "yes": // OK since Java SE 7
. . .
break;
. . .
}
荔枝二:不必在每個標簽中指明枚舉類。
enum Size{SMALL,MEDIUM,LARGE};
Size sz = . . .;
switch (sz)
{
case SMALL: // no need to use Size.SMALL
. . .
break;
. . .
}
- 注意事項:
- case后面只能是常量,不能是變量,而且,多個case后面的值不能出現相同的。
- default可以省略但是不建議,可用來對不正確的輸入給出提示。特殊情況:case的值時固定的,如單選題。
- default可以放在任何位置。建議放在最后。
- switch語句的結束條件:
- 遇到break
- 執行到程序的末尾
習題五:看程序寫結果
int a=2;
int b=3;
switch(a){
default:b++;
case 3: b++;
case 4 :b++;
}
System.out.println("b="+b);
b=6
習題六:鍵盤錄入月份,輸出相應季節