Java選擇結構與變量

1、基本if選擇結構java

  1. 語法:if(布爾表達式){ //代碼塊 } ==》對布爾表達式進行判斷,爲true執行代碼塊,爲false跳過代碼塊
  • class Demo03 {
    	public static void main(String[] args) {
    		System.out.println("Hello World!");
    		
    		// 判斷一把刀是否是管制刀具
    		int knifeLen = 155;
    
    		if(knifeLen >= 220){
    			System.out.println("這個刀子是管制刀具,要沒收...");
    		}
    
    		if(knifeLen < 220){
    			System.out.println("這個刀子不是管制刀具,能夠攜帶...");
    		}
    	}
    }

2、if...else選擇結構安全

  1. 語法:if(判斷條件){  代碼塊1 } else{ 代碼塊2 }==》對布爾值進行判斷,爲true執行代碼塊1,爲false執行代碼塊2
  • class Demo04 {
    	public static void main(String[] args) {
    		System.out.println("Hello World!");
    		int knifeLen = 150;
    
    		// if...else
    		if (knifeLen >= 220){
    			System.out.println("管制刀具");
    		}else{
    			System.out.println("非管制刀具");
    		}
    	}
    }
    

3、多重if選擇結構spa

  1. 語法:if(布爾表達式1){代碼塊1}else if(布爾表達式二){代碼塊2}else if(布爾表達式3){代碼塊3}else{代碼塊4}==》表達式1爲true則不往下執行,爲false則依次判斷表達式二、表達式3,表達式都爲false則執行代碼塊4
  • import java.util.Scanner;
    class Demo07 {
    	public static void main(String[] args) {
    		/*
    			鍵盤錄入一個數字(1--7),輸出對應日期須要上課的課程
    			一、導入Scanner
    			二、建立Scanner對象
    			三、提示輸入日期1--7
    			四、獲取日期
    			五、使用if判斷,輸出這一天須要上的課程
    		*/
    		
    		Scanner in = new Scanner(System.in);
    	
    		System.out.println("請輸入查詢星期幾的課程(1--7)");
    		int day = in.nextInt();
    
    		// 五、使用if判斷,輸出這一天須要上的課程
    
    		if(day == 1){
    			System.out.println("今天是星期一,須要上語文課.");
    		} else if(day == 2){
    			System.out.println("今天是星期二,須要上數學課.");
    		} else if(day == 3){
    			System.out.println("今天是星期三,須要上英語課.");
    		} else if(day == 4){
    			System.out.println("今天是星期四,須要上體育課.");
    		} else if(day == 5){
    			System.out.println("今天是星期五,須要上語文課.");
    		} else if((day == 6) || (day == 7)){
    			System.out.println("今天是星期" + day + ",須要休息.");
    		} else{
    			System.out.println("您查詢的課程不存在...");
    		}
    	}
    } 

4、嵌套if選擇結構對象

  1. 語法:if(外層表達式){ if(內層表達式){//內層代碼塊1}else{//內層代碼塊2} }else{ //外層代碼塊}==》外層表達式爲true在判斷內層表達式,外層爲false則直接輸出外層代碼塊
  2. 注意:一個選擇結構中,可嵌套另外一個選擇結構==》嵌套正確的狀況下,支持任意組合
  • import java.util.Scanner;
    class Demo10 {
    	public static void main(String[] args) {
    		/*
    			模擬乘坐火車檢票安檢的過程
    		*/
    
    		Scanner in = new Scanner(System.in);
    
    		System.out.println("請出示你的車票(1=有票,0=無票):");
    		int ticket = in.nextInt();
    
    		// 判斷有沒有車票,若是有就能夠去安檢
    		if(ticket>=1){
    			// 提示輸入安檢狀況
    			System.out.println("有沒有攜帶違禁物品(true=有,false=無):");
    			boolean isDanger = in.nextBoolean();
    			// 判斷安全狀況
    			if(isDanger){
    				System.out.println("請跟我走一趟....");
    			}else{
    				System.out.println("安檢經過,請排隊候車...");
    			}
    
    		}else{
    			// 無票,提示去買票
    			System.out.println("請先去購買車票...");
    		}
    	}
    }

5、分支結構blog

  1. 語法:switch(變量|表達式){  case 值1:邏輯代碼1;case值2:邏輯代碼2;case值n:邏輯代碼n  default:  爲知足時的邏輯代碼   } ==》輸入值相應的數值,返回對應的邏輯代碼塊,若沒有對應的值則返回default內容
  2. 注意:當匹配的case執行後,不會自動退出整個結構,而是繼續向下執行。 break關鍵字可在匹配的case執行後,跳出整個結構
  • import java.util.Scanner;
    class Demo13 {
    	public static void main(String[] args) {
    		/*
    			根據星期幾輸出上課的內容
    			一、導入Scanner
    			二、建立Scanner對象
    			三、提示輸出星期幾day
    			四、獲取輸入的值
    			五、使用switch判斷輸出課程內容
    
    		*/
    	
    		Scanner in = new Scanner(System.in);
    		System.out.println("請輸入今天是星期幾(1--7):");
    		int day = in.nextInt();
    
    		// 五、使用switch判斷輸出課程內容
    		switch(day){
    			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;
    		}
    	}
    }

6、比較if和switch生命週期

import java.util.Scanner;
class Demo15 {
	public static void main(String[] args) {
		/*
			0 --59	不及格
			60--69	及格
			70--79	通常
			80--89	良好
			90--100	優秀
		*/

		Scanner in = new Scanner(System.in);
		System.out.println("請輸入考試成績(0--100):");
		int score = in.nextInt();
		
		if((score<0) || (score>100)){
			System.out.println("錯誤的分數");
		}else{
			// 合法的分數
			if(score >= 90){
				System.out.println("成績優秀");
			} else if(score >= 80){
				System.out.println("成績良好");
			} else if(score >= 70){
				System.out.println("成績通常");
			} else if(score >= 60){
				System.out.println("剛剛及格");
			} else{
				System.out.println("不及格,體驗一下男女混合雙打...");
			}
		}
	}
}

總結:作用域

  • if中的判斷條件能夠使等於某個具體的值,也能夠是一個範圍數學

    • month==3it

    • score>=90class

  • switch中case後面的值只能是byte,short、int、char、String範圍內的值

    • 沒法使用範圍進行操做,數字範圍過大,或者內容不肯定且狀況複雜的時候不能使用switch

    • 數值較少,內容固定的狀況下能夠使用switch

    • 常量的斷定推薦使用switch

7、局部變量

  1. 概念:
    • 定義在方法中的變量
    • 使用前必須先賦值---沒有默認值
    • 做用範圍只在當前方法裏面
    • 在同一做用域中變量名字不能重複
    • 聲明週期是從建立到方法結束
  • class Demo16 {
    	
    	public static void main(String[] args) {
    		/*
    			定義位置在方法中
    			使用前必須先賦值---沒有默認的值
    			做用範圍只在當前方法裏面
    			在同一個做用域中變量名字不能重複
    			生命週期是從建立到方法結束
    		*/
    		int age = 20;
    		System.out.println("age=" + age);
    
    		// int age = 22;
    		// show();
    		age = 33;
    	}
    
    	public static void show() {
    
    		System.out.println("age=" + age);
    	}
    }
相關文章
相關標籤/搜索