欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入理解 Java 中的 Switch 語(yǔ)句示例詳解

 更新時(shí)間:2024年10月06日 09:41:50   作者:Yhame.  
在Java編程中,switch語(yǔ)句通過表達(dá)式值來執(zhí)行不同代碼塊,本文介紹switch語(yǔ)法、案例、注意事項(xiàng),以及與if語(yǔ)句的對(duì)比,包括基本語(yǔ)法、關(guān)鍵字、表達(dá)式、case常量、break和default的使用,以及如何根據(jù)輸入的字符輸出星期、大小寫轉(zhuǎn)換、成績(jī)判斷和季節(jié)判斷等實(shí)際應(yīng)用場(chǎng)景

深入理解 Java 中的 Switch 語(yǔ)句

在這里插入圖片描述

在 Java 編程中,switch 語(yǔ)句是一種強(qiáng)大的控制結(jié)構(gòu),能夠根據(jù)表達(dá)式的值選擇執(zhí)行不同的代碼塊。本文將詳細(xì)介紹 switch 的基本語(yǔ)法、使用案例、注意事項(xiàng)以及與 if 語(yǔ)句的選擇。

基本語(yǔ)法

switch 語(yǔ)句的基本語(yǔ)法如下:

switch (表達(dá)式) {
    case 常量1:
        // 執(zhí)行代碼塊1
        break;
    case 常量2:
        // 執(zhí)行代碼塊2
        break;
    ...
    default:
        // 執(zhí)行默認(rèn)代碼塊
}

關(guān)鍵點(diǎn)

  • 關(guān)鍵字:使用 switch 來聲明分支結(jié)構(gòu)。
  • 表達(dá)式:該表達(dá)式的值用于選擇相應(yīng)的 case。
  • case 常量:當(dāng)表達(dá)式的值等于某個(gè)常量時(shí),將執(zhí)行對(duì)應(yīng)的代碼塊。
  • break:用于退出 switch,防止繼續(xù)執(zhí)行下一個(gè) case。
  • default:可選的,當(dāng)沒有任何 case 匹配時(shí)執(zhí)行。

程序流程圖

在這里插入圖片描述

示例代碼

以下是一個(gè)簡(jiǎn)單的示例,展示如何根據(jù)輸入的字符輸出對(duì)應(yīng)的星期幾:

import java.util.Scanner;
public class SwitchExample {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("請(qǐng)輸入一個(gè)字符(a-g):");
        char c1 = in.next().charAt(0);
        switch (c1) {
            case 'a':
                System.out.println("星期一");
                break;
            case 'b':
                System.out.println("星期二");
                break;
            case 'c':
                System.out.println("星期三");
                break;
            case 'd':
                System.out.println("星期四");
                break;
            case 'e':
                System.out.println("星期五");
                break;
            case 'f':
                System.out.println("星期六");
                break;
            case 'g':
                System.out.println("星期日");
                break;
            default:
                System.out.println("輸入的內(nèi)容不正確");
        }
        System.out.println("退出Switch,繼續(xù)執(zhí)行程序");
    }
}

注意事項(xiàng)

在使用 switch 語(yǔ)句時(shí),需注意以下幾點(diǎn):

  • 數(shù)據(jù)類型匹配:表達(dá)式的數(shù)據(jù)類型應(yīng)與 case 后的常量類型一致,或能自動(dòng)轉(zhuǎn)換。
  • 支持的數(shù)據(jù)類型switch 的表達(dá)式可以是 (byte, short, int, char, enum, String)
  • case 子句case 中的值必須是常量,不能是變量。
  • default 子句:可選的,未匹配時(shí)執(zhí)行。如果不寫,可能不會(huì)有輸出。
  • break 語(yǔ)句:用于結(jié)束當(dāng)前 case 的執(zhí)行,若不寫,則會(huì)順序執(zhí)行下一個(gè) case 直到遇到 break

使用細(xì)節(jié)

public class SwitchDetail {
    public static void main(String[] args) {
        char c = 'a';
        System.out.println(c);  // 輸出 a
        System.out.println((int) c);  // 輸出 97
        switch (c) {
            case 'a':
                System.out.println("ok1");
                break;
            case 'b':
                System.out.println("ok1");
                break;
            case 20:  // char 類型可以轉(zhuǎn)換為整數(shù)
                System.out.println("ok1");
                break;
            default:
                System.out.println("輸入錯(cuò)誤。");
        }
      //使用String類型示例,過程如下
		// char d = "a"
		// switch(c){
		// 	case "a":
		// 		System.out.println("ok1");
		// 		break;
		// 	case "b":
		// 		System.out.println("ok1");
		// 		break;
		// 	case 20:     //這里 會(huì)報(bào)錯(cuò),這里的類型和String類型不能轉(zhuǎn)換
		// 		System.out.println("ok1");
		// 		break;
		// 	default:
		// 		System.out.println("輸入錯(cuò)誤。");
		// }
    }
}

練習(xí)

  • 使用 switch 把小寫類型的 char 型轉(zhuǎn)為大寫(鍵盤輸入)。只轉(zhuǎn)換 a, b, c, d, e. 其它的輸出 “other”。
  • 對(duì)學(xué)生成績(jī)大于 60 分的,輸出"合格"。低于 60 分的,輸出"不合格"。(注:輸入的成績(jī)不能大于 100), 提示 成績(jī)/60
  • 根據(jù)用于指定月份,打印該月份所屬的季節(jié)。3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季 [課堂練習(xí), 提示 使用穿透 ]

練習(xí) 1:小寫字母轉(zhuǎn)大寫

import java.util.Scanner;
public class SwitchExercise {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("請(qǐng)輸入一個(gè)小寫英文字母(a-e):");
        char c1 = in.next().charAt(0);
        switch (c1) {
            case 'a':
            case 'b':
            case 'c':
            case 'd':
            case 'e':
                System.out.println(c1 + "的大寫是" + (char) (c1 - 32));
                break;
            default:
                System.out.println("other");
        }
    }
}

練習(xí) 2:成績(jī)判斷

// 這里使用編程思路,將成績(jī)的范圍轉(zhuǎn)換成一個(gè)整數(shù)類型來進(jìn)行判斷,
//  [0-60]使用除法的思想把轉(zhuǎn)換成一個(gè)整數(shù)
//  [60- 100] 同理使用相同的思路
import java.util.Scanner;
public class SwitchExercise02 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("請(qǐng)輸入你的分?jǐn)?shù):");
        int grade = in.nextInt();
        if (grade >= 0 && grade <= 100) {
            switch (grade / 60) {
                case 0:
                    System.out.println("不合格");
                    break;
                case 1:
                    System.out.println("合格");
                    break;
                default:
                    System.out.println("輸入有誤,請(qǐng)重新輸入?。?!");
            }
        }
    }
}

練習(xí) 3:季節(jié)判斷

// 穿透的意思就是使用一個(gè)條件能夠使所有的條件都能夠符合使用
import java.util.Scanner;
public class SwitchExercise03 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("請(qǐng)輸入一個(gè)月份:");
        int month = in.nextInt();
        switch (month) {
            case 3:
            case 4:
            case 5:
                System.out.println("春季");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println("夏季");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println("秋季");
                break;
            case 12:
            case 1:
            case 2:
                System.out.println("冬季");
                break;
            default:
                System.out.println("輸入有誤,請(qǐng)重新輸入?。。?);
        }
    }
}

switch 與 if 的選擇

  • 使用場(chǎng)景:當(dāng)判斷的具體數(shù)值不多且符合 byte, short, int, char, enum, String 類型時(shí),推薦使用 switch 語(yǔ)句。
  • 適用范圍:對(duì)于區(qū)間判斷和布爾類型的判斷,使用 if 語(yǔ)句更為靈活。

通過上述內(nèi)容,相信你對(duì) Java 中的 switch 語(yǔ)句有了更深入的理解。希望這篇文章能幫助你在編程中更加得心應(yīng)手!

到此這篇關(guān)于深入理解 Java 中的 Switch 語(yǔ)句的文章就介紹到這了,更多相關(guān)Java Switch 語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java的三種IO模型詳解(BIO、NIO、AIO)

    java的三種IO模型詳解(BIO、NIO、AIO)

    本文介紹了BIO、NIO和AIO三種不同的IO模型,分別分析了它們的工作機(jī)制、實(shí)現(xiàn)方式以及與BIO的對(duì)比,BIO是阻塞的,每個(gè)連接需要一個(gè)線程;NIO是同步非阻塞的,通過緩沖區(qū)和選擇器實(shí)現(xiàn)I/O多路復(fù)用;AIO是異步的,操作系統(tǒng)處理IO操作,完成后通知應(yīng)用程序
    2024-11-11
  • JAVA SpringBoot統(tǒng)一日志處理原理詳解

    JAVA SpringBoot統(tǒng)一日志處理原理詳解

    這篇文章主要介紹了SpringBoot的統(tǒng)一日志處理原理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • iOS獲取AppIcon and LaunchImage''s name(app圖標(biāo)和啟動(dòng)圖片名字)

    iOS獲取AppIcon and LaunchImage''s name(app圖標(biāo)和啟動(dòng)圖片名字)

    這篇文章主要介紹了iOS獲取AppIcon and LaunchImage's name(app圖標(biāo)和啟動(dòng)圖片名字)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-08-08
  • Mybatis使用連表查詢的操作代碼

    Mybatis使用連表查詢的操作代碼

    這篇文章主要介紹了Mybatis如何使用連表查詢,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • mybatisFlex各種鏈?zhǔn)絪ql寫法小結(jié)

    mybatisFlex各種鏈?zhǔn)絪ql寫法小結(jié)

    本文主要介紹了mybatisFlex各種鏈?zhǔn)絪ql寫法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • Java泛型定義與用法入門示例

    Java泛型定義與用法入門示例

    這篇文章主要介紹了Java泛型定義與用法,結(jié)合實(shí)例形式分析了java泛型的功能、定義、應(yīng)用場(chǎng)景及相關(guān)使用注意事項(xiàng),需要的朋友可以參考下
    2019-08-08
  • Java Scaner類詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java Scaner類詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java.util.Scanner是Java5.0的新特征,主要功能是簡(jiǎn)化文本掃描。下面通過本文給大家分享java scaner類相關(guān)知識(shí),需要的朋友下吧
    2017-04-04
  • Java Mybatis中的 ${ } 和 #{ }的區(qū)別使用詳解

    Java Mybatis中的 ${ } 和 #{ }的區(qū)別使用詳解

    這篇文章主要介紹了Mybatis中的 ${ } 和 #{ }的區(qū)別使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java數(shù)據(jù)脫敏的常用方式總結(jié)

    Java數(shù)據(jù)脫敏的常用方式總結(jié)

    大家好!今天我們要聊一聊數(shù)據(jù)脫敏,這個(gè)詞聽起來像特工電影里的高科技武器,其實(shí)它就是給敏感數(shù)據(jù)穿上“偽裝衣”,防止“壞人”偷 窺,Java 提供了多種數(shù)據(jù)脫敏方式,今天咱們來聊幾種經(jīng)典實(shí)用的“偽裝術(shù)”,感興趣的小伙伴跟著小編一起來看看吧
    2024-11-11
  • SpringBoot整合MyBatisPlus詳解

    SpringBoot整合MyBatisPlus詳解

    這篇文章詳細(xì)介紹了SpringBoot整合mybatisplus的全過程,文中有詳細(xì)的代碼示例,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2023-04-04

最新評(píng)論