if選擇結構的幾種類型和switch選擇結構的區別


一.什么是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是可以省略的(不推薦),在其他位置的時候,不能省略。

 


免責聲明!

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



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