10.29日報

柴柴柴柴柴柴℡發表於2020-10-30

switch
格式

switch(變數){
case1:
	要執行的程式碼;
	break;
case 值n:
	要執行的程式碼;
	break;
default:
	上述值都不匹配時會進入本分支
	break;
}

switch分支 vs if 分支
特點

程式碼比if分支更加簡潔
缺點

無法處理範圍資料

例如:如果分數在60到80之間,列印良好
if(score>60 || score<80){列印良好}
總結

if語句可以處理任何分支

功能更強
所有switch可以處理的,if都能處理
switch分支專門用於處理定值的分支

電話客服系統

  • 1,話費充值

  • 2,寬頻業務

  • 3,人工服務
    輸入控制

  • 需求
    從鍵盤接收兩個資料
    計算他們的和

  • 編碼
    階段一,實現基本功能

import java.util.Scanner;

public class 簡易計算器 {
    public static void main(String[] args) {

        // 獲得鍵盤輸入的工具
        Scanner ipt = new Scanner(System.in);

        // 提示使用者輸入資料
        System.out.println("請輸入第一個數:");
        int num1 = ipt.nextInt();

        // 提示使用者輸入第二個資料
        System.out.println("請輸入第二個資料:");
        int num2 = ipt.nextInt();

        // 求和
        int s = num1 + num2;
        System.out.println("兩個數的和是" + s);

    }
}
  • 存在的問題
    如果使用者隨意輸入,會造成程式崩潰
  • 解決辦法
    判斷使用者輸入的型別
  • 格式
    Scanner物件.hasNext**
  • 例子
    需求

從鍵盤輸入一個資料,驗證是否是整數,如果是整數,那讓它翻倍,如果不是整數,提示資料非法

  • 程式碼
import java.util.Scanner;

public class 測試鍵盤輸入的驗證 {
  public static void main(String[] args) {

    // 生成一個鍵盤輸入的工具物件
    Scanner ipt = new Scanner(System.in);

    // 判斷是否是整數
    System.out.println("請輸入一個整數,我會讓你翻倍:");
    boolean is_int = ipt.hasNextInt();
    System.out.println(is_int);

    if (is_int == true) {
      System.out.println("使用者輸入了合法的資料");
      int num = ipt.nextInt();
      System.out.println(num * 2);
//      System.out.println(使用者輸入的資料*2);
    } else {
      System.out.println("非法資料,請不要再這樣!");
    }


  }
}
  • 模型
    區域性變數

  • 案例

  • 現象一,a可以正常輸出

  • `public class two {
    public static void main(String[] args) {
    int a = 1;

     if (true) {
         System.out.println("if裡面的a   " + a);
     }
    

    }
    }
    `

  • 現象二,a不可以正常輸出

public class two {
    public static void main(String[] args) {

        if (true) {
            int a = 1;
            System.out.println("if裡面的a"+a);
        }
        System.out.println("if外面的a   " + a);

    }
}

  • 小結

變數能否正常使用,取決於它在哪裡定義
它的生命範圍在出生地所對應的花括號範圍內