Java学习笔记day2--分支结构之switch

复制代码
/*
 switch(表达式){
 case 常量1:
     语句1;
     //break;
 case 常量2:
     语句2;
     //break;
     ……
 default:
     语句;
     //break;
 说明:
     1.按照switch表达式里的值,依次匹配各个case中的常量,一旦成功匹配,则进入相应的case结构,调用执行语句。
 当调用完执行语句之后,则仍然向下执行其他case结构的执行语句,直到遇到break关键字或者到达此switch结构末尾为止。
     2.switch结构中的表达式,只能是如下的六种数据类型之一:byte、short、char、int、枚举类型、String类型
     3.case之后只能跟常量,不能声明范围
     4.break关键字是可选的
     5.default相当于if-else结构中的else,也是可选的。
     
     6.凡是可以使用switch-case的格式都可以转换成if-else,反之,则不行。
     7.当我们写分支结构时,发现既可以使用switch-case又可以使用if-else时,且switch的表达式取值常量数量不多时,推荐使用switch-case
 }
 */
import java.util.Scanner;
public class liuckz {
    public static void main(String[] agrs) {
        int num=2;
        switch(num) {
        case 0:
            System.out.println("zero");
            break;
        case 1:
            System.out.println("one");
            break;
        case 2:
            System.out.println("three");
            break;
        case 3:
            System.out.println("four");
            break;
        default:
            System.out.println("other");
        }
        //String型
        String season="spring";
        switch(season) {
        case "spring":
            System.out.println("春暖花开");
            break;
        case "summer":
            System.out.println("夏日炎炎");
            break;
        case "autumn":
            System.out.println("秋高气爽");
            break;
        case "winter":
            System.out.println("白雪皑皑");
            break;
        default:
            System.out.println("您输入的季节有误");
            break;
        }
        /*
         例题1:
         使用switch把小写类型的char转换成大写,只转换a,a,b,c,d,e,其他的输出“other”
         */
        Scanner scan= new Scanner (System.in);
        System.out.println("请输入一个小写字母:");
        String word=scan.next();
        char c=word.charAt(0);
        switch(c) {
        case 'a':
            System.out.println("A");
            break;
        case 'b':
            System.out.println("B");
            break;
        case 'c':
            System.out.println("C");
            break;
        case 'd':
            System.out.println("D");
            break;
        case 'e':
            System.out.println("E");
            break;
        default:
            System.out.println("other");
        }
        
        /*
         例题2:
         对学生成绩大于60分的,输入“合格”;低于60分的,输出“不合格”
         */
        System.out.println("请输入学生成绩:(0~100)");
        int score=scan.nextInt();
        switch(score/60) {
        case 1:
            System.out.println("合格");
            break;
        case 0:
            System.out.println("不合格");
            break;
        default:
            System.out.println("请输入符合规范的成绩");
            break;
        }
        
        /*
         例题3:
         根据指定的月份,打印该月份所属的季节。
         3,4,5春季;6,7,8夏季;9,10,11,秋季;12,1,2冬季。
         */
        System.out.println("请输入月份:");
        int months=scan.nextInt();
        switch(months/3) {
        case 1:
            System.out.println("spring");
            break;
        case 2:
            System.out.println("summer");
            break;
        case 3:
            System.out.println("autumn");
            break;
        default:
            System.out.println("winter");
        }
        
        //**************************************++++++较难+++++**************************************
        /*
         例题4:
         编写程序,从键盘上输入2019年的“month”和“day”,要求通过程序输出输入日期为2019年的第几天
         */
        System.out.println("请输入月份:");
        int month=scan.nextInt();
        System.out.println("请输入日期:");
        int day=scan.nextInt();
        int days=0;
        //按老师提示后想到的方法:利用break的可选,实现累加
            switch(month) {
            case 12:
                days+=30;
            case 11:
                days+=31;
            case 10:
                days+=30;
            case 9:
                days+=31;
            case 8:
                days+=31;
            case 7:
                days+=30;
            case 6:
                days+=31;
            case 5:
                days+=30;
            case 4:
                days+=31;
            case 3:
                days+=28;
            case 2:
                days+=31;
            case 1:
                days+=day;
            }
        System.out.println("2019年"+month+""+day+"日是2019年第"+days+"");
        //***********************************************************************************************
            
        
    }
        
}
复制代码

 

posted @   乐美  阅读(89)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示