JAVA 中的SWITCH语句?

本文深入探讨Java中switch语句的使用,包括其语法、支持的数据类型如byte、short、int、char、String和enum,以及如何用switch语句替代冗长的if...else语句,提高代码的可读性和维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

示例 1 : switch
switch可以使用byte,short,int,char,String,enum
注: 每个表达式结束,都应该有一个break;
注: String在Java1.7之前是不支持的, Java从1.7开始支持switch用String的,编译后是把String转化为hash值,其实还是整数
注: enum是枚举类型,在枚举章节有详细讲解
public class HelloWorld {
public static void main(String[] args) {

    //如果使用if else
    int day = 5;
    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)
        System.out.println("星期六");
    else if (day==7)
        System.out.println("星期天");
    else
        System.out.println("这个是什么鬼?");
     
    //如果使用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("ok?");
    }
     
}

}

在这里插入图片描述
示例 2: 季节
通过Scanner 输入月份,然后使用switch 判断季节
package dem.doe;

import java.util.Scanner;
public class dore {
void test1()
{
int i = 1;
boolean b = !(i++ == 3) ^ (i++ ==2) && (i++==3);
System.out.println(b);
System.out.println(i);
}

    void test2(){
        int i = 1;
        i+=++i;
        System.out.println(i);
    }
    //通过Scanner输入一个1-7之间的整数,使用三元操作符判断是工作日还是周末?
    void test3(){
        Scanner s = new Scanner(System.in);
        System.out.println("今天是周几 ?");
        int a = s.nextInt();
        String b = a <= 5?"工作日":"周末";
        System.out.println("今天是"+b);
    }
    //判断闰年
    /*
     *闰年判断标准(满足任何一个)
    1. 如果能够被4整除,但是不能被100整除
    2. 能够被400整除
     */
    void ifLeapYear(){
        Scanner s = new Scanner(System.in);
        System.out.println("请输入年份");
        int y = s.nextInt();
        boolean ly = false;
         
        boolean a1 = y % 4 == 0;
        boolean a2 = y % 100 != 0;
        boolean b = y% 400 == 0;
         
        if(a1 && a2)
            ly = true;
        else if (b)
            ly = true;
         
        System.out.println(y+(ly?"是闰年":"不是闰年"));
    }
 
    void mon2sea(){
        Scanner s=new Scanner(System.in);
        System.out.println("请您输入月份:");
        int month=s.nextInt();
        switch(month)
        {
        case 2:
        case 3:
        case 4:
        System.out.println("春天");
        break;
        case 5:
        case 6:
        case 7:
        System.out.println("夏天");
        break;
        case 8:
        case 9:
        case 10:
        System.out.println("秋天");
        break;
        case 11:
        case 12:
        case 1:
        System.out.println("冬天");
        break;
        default:
        System.out.println("地球属于三体");
        }
    }
    public static void main(String[] args) {
    	dore mt = new dore();
        //mt.test1();
        //mt.test2();
        //mt.test3();
        //mt.calBMI();
        //mt.ifLeapYear();
        mt.mon2sea();
    }

}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值