1.if語句
(1)概念:用於做判斷使用的
(2)用途:常見的對於某個範圍進行判斷,或者對幾個變量進行判斷,還有就是對boolean表達式的判斷。
(3)格式:
A:第一種格式
if(條件表達式)
{
語句體;
}
執行流程:
如果條件表達式爲true,就執行語句體;否則,什麼都不執行。
B:第二種格式
if(條件表達式)
{
語句體1;
}
else
{
語句體2;
}
執行流程:
如果條件表達式爲true,就執行語句體1;否則,就執行語句體2
注意:
可以和條件運算符的條件表達式在某些情況下進行替換。
一般是在賦值的情況下可以。
C:第三種格式
if(條件表達式1)
{
語句體1;
}
else if(條件表達式2)
{
語句體2;
}
..........
else
{
語句體 n;
}
執行流程:
如果條件表達式1爲true,就執行語句體1;
如果條件表達式2爲true,就執行語句體2;
.............
否則,就執行語句體n;
D:注意事項
a:幾種if格式的應用場景:
第一種格式在判斷條件爲一種的情況下使用。
第二種格式在判斷條件爲兩種的情況下使用。
第三種格式在判斷條件爲多種的情況下使用。
b:每一種if語句其實都是一個整體,如果有地方執行了,
其他的就不執行了。
c:如果if或者else裏面控制的語句體是一條語句,是可以省略大括號的,
但是,如果控制多條語句,就必須寫上大括號。(建議永遠寫上大括號)
d:大括號和分號一般不同時出現。
e:作用域:
所有變量的定義只在他所屬的大括號內有效
(4)Scanner的使用:
(1)Scanner是JDK5以後設計的用來接收鍵盤錄入數據使用的。
(2)使用Scanner鍵盤錄入int數據的步驟:
A:導包
import java.util.Scanner;
B:創建對象,封裝鍵盤錄入
Scanner sc = new Scanner(System.in);
C:調用方法,獲取數據
int number = sc.nextTnt();
(5)if判斷結構案例
A:根據鍵盤錄入的成績,判斷等級。
import java.util.Scanner;
class IfTest2
{
public static void main(String[] args)
{
//封裝鍵盤錄入
Scanner sc = new Scanner(System.in);
//提示鍵盤錄入分數
System.out.println("請輸入分數;");
int score = sc.nextInt();
String level;
//判斷結構
if(score>=90 && score<=100)
{
level = "A等";
}
else if(score>=80 && score<90)
{
level = "B等";
}
else if(score>=70 && score<80)
{
level = "C等";
}
else if(score>=60 && score<70)
{
level = "D等";
}
else if(score>=0 && score<60)
{
level = "E等";
}
else
{
level = "分數有誤";
}
System.out.println(score+"----"+level);
}
}
B:根據鍵盤錄入的月份,輸出該月份所對應的季節。
import java.util.Scanner;
class IfTest3
{
public static void main(String[] args)
{
//封裝鍵盤錄入
Scanner sc = new Scanner(System.in);
//提示
System.out.println("請輸入月份(1-12):");
int month = sc.nextInt();
if(month==1 || month==2 || month==12)
{
System.out.println("冬季");
}
else if(month==3 || month==4 || month==5)
{
System.out.println("春季");
}
else if(month==6 || month==7 || month==8)
{
System.out.println("夏季");
}
else if(month==9 || month==10 || month==11)
{
System.out.println("秋季");
}
else
{
System.out.println("月份有誤");
}
2.switch語句
(1)用於做選擇使用的。一般用於幾個常量的判斷。
switch會把幾個常量值直接加載到內存,在判斷的時候,效率要比if高。
所以,針對幾個常量的判斷,一般選擇switch語句。
(2)switch語句的格式:
switch(表達式)
{
case 值1:
語句體1;
break;
case 值2:
語句體2;
break;
case 值3:
語句體3;
break;
...
default:
語句體n;
break;
}
A:針對格式的解釋
switch:表示這裏使用的是switch語句,後面跟的是選項。
表達式:byte,short,int,char
JDK5以後可以是枚舉
JDK7以後可以是字符串
case:表示這裏就是選項的值,它後面的值將來和表達式的值進行匹配。
注意: case後面的值是不能夠重複的。
break:
switch語句執行到這裏,就結束了。
default:
當所有的case和表達式都不匹配的時候,就走default的內容。
它相當於if語句的else。一般不建議省略。
B:執行流程
進入switch語句後,就會根據表達式的值去找對應的case值。
如果最終沒有找到,那麼,就執行default的內容。
C:注意事項:
a:default整體可以省略嗎?
可以,但是不建議。
b:default的位置可以放到前面嗎?
可以,但是不建議。
c:break可以省略嗎?
可以,但是不建議。
default在最後,break是可以省略的。
case後面的break可以省略,但是結果可能有問題。
d:switch語句什麼時候結束呢?
就是遇到break或者執行到程序的末尾。
(3)案例:
根據鍵盤錄入的日期(1-7),輸出對應的星期日期。
class SwitchDemo
{
public static void main(String[] args)
{
//根據給定的一個數據(1-7),請輸出對應的星期日期。
int week = 3;
week = 13;
switch(week)
{
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("日期輸入有誤");
break;
}
}
}