Java選擇結構-if語句,switch語句詳解

Java程序設計中引入了選擇語句。選擇語句總共有兩種常見的形式:if語句,和switch語句。

1. if語句

(1)if單選擇結構

if(比較表達式或者是boolean類型的值)
 {
  語句體;
 }

執行流程:
先計算比較表達式的值,看其返回值是true還是false。 如果是true,就執行語句體;
如果是false,就不執行語句體;

(2) if-else雙選擇結構

if語句的格式2
 if(比較表達式) {
  語句體1;
 }else {
  語句體2;
 }

執行流程:
首先計算比較表達式的值,看其返回值是true還是false。
如果是true,就執行語句體1;
如果是false,就執行語句體2;

示例:

im**por**t java.util.Scanner;

public class  heng {
    public static void main(String[] args) {
        Scanner ac=  new Scanner(System.in);
        System.out.println("請輸入第一個數字");
        int x=ac.nextInt();
        int y=0;
        if (x>=3)
        y = 2*x + 1;
        else
            y=3*x;
        System.out.println("y="+y);
    }
}   

(3) if-else if-else多選擇結構

if(比較表達式1) {
  語句體1;
 }else if(比較表達式2) {
  語句體2;
 }else if(比較表達式3) {
  語句體3;
 }
 ...
 else {
  語句體n+1;
 }

執行流程:
首先計算比較表達式1看其返回值是true還是false,
如果是true,就執行語句體1,if語句結束。
如果是false,接着計算比較表達式2看其返回值是true還是false,
如果是true,就執行語句體2,if語句結束。

注意:當只要有一個條件滿足時,if語句結束。else是可以省略,但是不建議省略。
示例:

import java.util.Scanner;

public class  heng {
    public static void main(String[] args) {
        Scanner ac=  new Scanner(System.in);
        System.out.println("請輸入第一個數字");
        int x=ac.nextInt();
        int y=0;
        if (x>=3)
        y = 2*x + 1;
        else if (-1<=x&x<3)
        y = 2*x;
        else if (x<-1)
        y = 2*x-1;
        System.out.println("y="+y);
    }
}

2. switch語句

switch(表達式){
  case1:
   語句體1;
   break;
  case2:
   語句體2;
   break;
  case3:
   語句體3;
   break;
  ....
  default: 
   語句體n+1;
   break;
 }

執行流程:
先計算表達式的值
然後和case後面的匹配,如果匹配成功就執行對應的語句,遇到break就會結束,否則執行default控制的語句

注意:
Switch表達式的取值:byte,short,int,char;JDK5以後可以使用枚舉,JDK7以後可以是String。
Case後面只能是常量,不能是變量,而且,多個case後面的值不能出現相同的。

示例:

import java.util.Scanner;

public class  heng {
    public static void main(String[] args) {
        Scanner ac=  new Scanner(System.in);
        System.out.println("請輸入第一個數字");
        int a=ac.nextInt();
        System.out.println("請輸入第二個個數字");
        int b=ac.nextInt();
        switch(a){
            default:
                b++;
                break;
            case 3:
                b++;
                break;
            case 4:
                b++;
                break;
        }
        System.out.println("y="+b);
    }
}
輸入
3
4
結果爲5
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章