一.什么是if選擇結構
if選擇結構是根據條件判斷之后再做處理的一種語法結構.
if(條件布爾類型){
代碼塊 //當條件為真時,執行。
}//當條件為假時,執行。
例:
package cn.kgc.mls.lianxi; public class boke { public static void main(String[] args) { double a=98; if (a>99) { System.out.println("真"); } System.out.println("假");
二.常用邏輯運算符
&&(與,並且),表達式:條件1&&條件2 說明:倆個條件同時為真,則結果為真;倆個條件有一個為假,則結果為假
||(或,或者),表達式:條件1||條件2 說明:倆個條件有一個為真,則結果為真;倆個條件同時為假,則結果為假
!(非) ,表達式:!條件 說明: 條件為真時,結果為假;條件為假時,結果為真
| A | B | A&&B | A\|\|B |
| ---- | ---- | ---- | ------ |
| T | T | T | T |
| T | F | F | T |
| F | T | F | T |
| F | F | F | F |
&& 一假必假
|| 一真必真
例:
public class lianxi1 { public static void main(String[] args) { int a=85; int b=81; int c=100; int d=69; if ((a>98 && b>80) || (c==100 && d>70)){ System.out.println("獎勵"); } System.out.println("無獎勵"); } }
三.if-else語法
語法:
if (條件) {
//代碼塊1
}else{
//代碼塊2
}
當條件為真時會執行代碼塊一,不會走代碼塊2
當條件為假時會執行代碼塊二,不會走代碼塊1
例:
package cn.kgc.mls.lianxi3; import java.util.Scanner; public class boke { public static void main(String[] args) { Scanner sc=new Scanner(System.in); double tiCai=sc.nextDouble(); if (tiCai==500){ System.out.println("買車,資助希望工程,去歐洲旅游"); }else{ System.out.println("買下一期體彩,菩薩保佑"); } } }
四.多重if選擇結構
多重if選擇結構
語法:
if ( 成績>90) {
//代碼塊1
}
else if (成績>=60) {
//代碼塊2
}
else {
//代碼塊3
}
成績>90為條件1
成績>=60為條件2
如果條件1結果為真時會執行代碼塊1,代碼塊1執行完畢后不會再去判斷其他條件,直接執行多重if選擇結構以下的代碼
如果條件1結果為假時會再次判斷條件2,如果條件2為真時會執行代碼塊2,代碼塊2執行完畢后不會再去判斷其他條件,直接執行多重if選擇結構以下的代碼
如果條件2結果為假時會執行代碼塊3,代碼塊3執行完畢后,直接執行多重if選擇結構以下的代碼
例:
package cn.kgc.mls.lianxi; import java.util.Scanner; public class boke { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int a=sc.nextInt(); if(a>90){ System.out.println("優秀"); }else if(a>=60){ System.out.println("中等"); }else{ System.out.println("差"); } } }
五.嵌套if選擇結構
語法:
if(條件1) {
if(條件2) {
//代碼塊1
} else {
//代碼塊2
}
} else {
//代碼塊3
}
如果條件1為真時,去判斷條件2,如果條件2為真時會執行代碼塊1,如果條件2為假時會執行代碼塊2
如果條件1為假時回去執行代碼塊3
例:
package cn.kgc.mls.day04; import java.util.Scanner; public class lianxi { public static void main(String[] args) { Scanner a=new Scanner(System.in); System.out.println("請輸入成績:"); int score=a.nextInt(); if(score<=10){ System.out.println("進入決賽!"); System.out.println("請輸入您的性別:"); String b=a.next(); if(b.equals("男")) { System.out.println("進入男子組決賽"); }else{ System.out.println("進入女子組決賽"); } }else { System.out.println("抱歉!你沒有進入決賽"); } } }
五.switch選擇結構
switch選擇結構可以很好地解決等值判斷問題.它與if選擇結構的區別就是if選擇結構可以更好地處理區間判斷問題,而switch可以更好的處理等值判斷問題。
switch選擇結構可以更好地解決等值判斷問題.
例:
package cn.kgc.mls.ceshi; import java.util.Scanner; public class boke { @Test public void test01(){ int mc=1; switch(mc){ case 1: System.out.println("夏令營"); break; case 2: System.out.println("電腦一個"); break; case 3: System.out.println("硬盤一個"); break; default: System.out.println("繼續努力明年再來"); break; } } }
注意
1.常量名不能重復
2.case后面的常量不是必須要按照某種順序的,switch后面的值會去找和自己匹配的常量值,然后執行對應的代碼庫,如果沒有找到,則執行default中的值
3.break結束當前的執行內容。在case后面執行,如果沒有break代碼會繼續向下執行。
4.default在最后的時候,break是可以省略的(不推薦),在其他位置的時候,不能省略。