if switch判斷結構


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;
}
}
} 
 


 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章