java——多分支語句


回顧:
一、輸入一個年份,判斷是不是閏年?
條件:
1、能被400整除
2、(1)能被4整除,但是(2)不能被100整除

邏輯表達式:
1||(1)&&(2)

Scanner sc = new Scanner(System.in);
System.out.println("input a year:");
int y = sc.nextInt();
if(y%4000||y%40&&y%100!=0){
System.out.println("是閏年");
}
else{
System.out.println("不是閏年");
}

職教雲活動1:
輸入你的出生年份,判斷你10歲那一年,是不是閏年?

二、輸入一個數,判斷其是不是水仙花數。
條件:
1、是個三位數
2、每個位上面的數的立方和==本身

Scanner sc = new Scanner(System.in);
System.out.println("input a num:");
int n = sc.nextInt();
int g = n%10;
int s = n/10%10;
int b = n/100%10;
if(ggg+sss+bbb==n){
System.out.println("水仙花數");
}else{
System.out.println("不是");
}

職教雲活動2:
輸入一個數,判斷其是不是玫瑰花數。
條件:
1、是個四位數
2、各位上的數字的四次方之和等於本身

if的三種語法:
1、單分支
if(條件){ } //注意:當{ }只有一句話的時候,可以省略花括號,但是一般不省略。

2、雙分支
if(條件){ }
else{ }

3、多分支
(挨個判斷,遇到第一個滿足的則執行,后面的就不再判斷)
if(條件1){

}else if(條件2){

}else if(條件3){

}...
else if(條件n){

}else{

}
如果前面的所有條件已經涵蓋了各種情況,
則這里的else可以沒有。

例1、輸入一個成績,判斷其等級。
90以上A
80-89 B
70-79 C
70以下 D
Scanner sc = new Scanner(System.in);
System.out.println("input a score:");
int n = sc.nextInt();

if(n>=90){
System.out.println("A");
}else if(n>=80){
System.out.println("B");
}else if(n>=70){
System.out.println("C");
}else{
System.out.println("D");
}
職教雲活動3:
輸入一個年齡,判斷這個年齡是老年,中年,青年,小孩。
65歲以上 老年
40-64 中年
18-39 青年
18歲以下 小孩

問題: 多個if和if-else if-else的區別?
1- 多個if 不管你前面ture與否后面的都執行,每個if都是一個孤島
(一堆人縱向排,就算是找到了你的人,其余的人也都得路過)
2- else if 如果前面的有一個成立 那么后面的都不執行,是一個team
(一堆人橫向排,從左到右找到了你的人,其余的人就不用管了)

舉例說明:
Scanner sc = new Scanner(System.in);
System.out.println("input a score:");
int n = sc.nextInt();
if(n>=90){
System.out.println("A");
}
if(n>=80){
System.out.println("B");
}
if(n>=70){
System.out.println("C");
}
if(n<70){
System.out.println("D");
}
上面程序的運行結果:
input a score:
91
A
B
C
分析:因為這幾個if沒有任何關聯,只是挨個執行。
如果用這種方式,必須改成:
Scanner sc = new Scanner(System.in);
System.out.println("input a score:");
int n = sc.nextInt();
if(n>=90){
System.out.println("A");
}
if(n<90&&n>=80){
System.out.println("B");
}
if(n<80&&n>=70){
System.out.println("C");
}
if(n<70){
System.out.println("D");
}
雖然實現了功能,但是每個if都得過,判斷成本提高了。

職教雲活動4:
輸入月工資金額,算出扣稅金額。
規則: 工資3500及以下,扣稅0
工資3500-5000之間,扣稅0.1%
工資5000-8000之間,扣稅0.2%
工資8000-10000之間,扣稅0.3%
工資10000以上,扣稅0.4%
例如:張三工資8500,扣稅過程如下
8500-8000 =500 這部分的扣稅是 5000.3%
8000-5000 =3000這部分的扣稅是3000
0.2%
5000-3500 =1500這部分的扣稅是15000.1%
3500以下的不扣稅
張三的扣稅總額= 500
0.3%+30000.2%+15000.1%


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM