首页 > 编程语言 >Java学习笔记day2--分支结构之switch

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

时间:2022-11-01 19:00:45浏览次数:39  
标签:case Java -- day2 System break switch println out

/*
 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+"天");
        //***********************************************************************************************
            
        
    }
        
}

 

标签:case,Java,--,day2,System,break,switch,println,out
From: https://www.cnblogs.com/NGZS/p/16848805.html

相关文章

  • 升级CentOS 7内核版本的三种方案
     在实验环境下,已安装了最新的CentOS7.4操作系统,现在需要升级内核版本。实验环境CentOS-7-x86_64-Minimal-1708.isoCentOSLinuxrelease7.4.1708(Core)Kernel3.1......
  • springCloud分布式框架搭建教程
    集群:指一个项目部署在不同的服务器,通过负载均衡来访问,形成集群。分布式:指项目中不同的模块可以独立运行。 Springboot是什么?是推出解决传统框架配置文件繁杂冗余,基于maven......
  • 主定理
    主定理:n为问题规模,a为递推的子问题数量,n/b为每个子问题的规模,f(n)为递推意以外进行的计算工作。a≥1,b>1为常数,f(n)为函数,T(n)为非负整数。则有以下结果(分类讨论):1)若则......
  • 25Jmeter之服务器性能资源监测-Jconsole &Linux命令
    一.通过Jconsole进行监控服务器资源情况Jconsole是一个内置Java性能分析器,可以轻松地使用JConsole来监控Java应用程序性能和跟踪Java中的代码。(1)开始—运行—输......
  • 流程改进建议
    1、图文结合,一条条列详细需求2、大的需求,需要方案评审,方案包含背景+收益+步骤3、量化人力,建立人力排班表4、养成好的习惯,每次commit前检查代码diff5、建立文档与推广,加......
  • 回溯-单词搜索
    在二维数组进行单词搜索也是经典的需要采用回溯算法的问题。案例1:给定一个 mxn二维字符网格 board和一个字符串单词 word。如果 word存在于网格中,返回true;否......
  • 齐博X1标签缓存时间设置
    标签默认的缓存时间是10分钟,某些需要实时显示内容的地方,如果你不想要缓存的话,可以修改标签增加一个参数 time="-1"即可,如下图所示如果你的网站访问量太大,数据比较多,并且......
  • 家居3D云展系统加倍增加成交机会-深圳华锐视点
    受疫情持续影响,3D虚拟云展厅加速进入大众的生活。在实体经济下滑的情势之下,3D虚拟云展厅无疑是最好的一种选择。“互联网+”打造,“3D数字化转型”升级成为时下流行的名......
  • SpringBoot集成微信支付0.4.7版本
    1.引入maven依赖<!--wechat支付--><dependency><groupId>com.github.wechatpay-apiv3</groupId><artifactId>wechatpay-ap......
  • 26Jmeter之60并发时Address alread in use :connect
    发现问题的背景:执行阶梯压力测试,大概60并发报错:JMeter错误:java.net.BindException:Addressalreadyinuse:connect1.分析报错原因:windows默认的TCP/IP端口只有1024-5......