Java基础--switch case语句入门小练习

简介: Java基础--switch case语句入门小练习

@[toc]

练习一

package switchDemo;
import java.util.Scanner;
public class Test1 {
    public static void main(String[] args) {
        /*
        * switch case
        *
        * switch(变量 非boolean){
        *   case 变量可能出现的值:
        * }
        * 开关语句
        *
        * */

        /*给定月份,输出季节*/
        //当month值与case后面的值匹配之后,就认为从匹配的地方开始后面代码都可以执行。
        //我们在输出语句之后加上break就可以啦。
        Scanner input=new Scanner(System.in);
        System.out.println("请输入相应的月份");
        int month=input.nextInt();
        switch(month){
            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;
            case 8:
                System.out.println("夏季");
                break;
            case 9:
                System.out.println("秋季");
                break;
            case 10:
                System.out.println("秋季");
                break;
            case 11:
                System.out.println("秋季");
                break;
            case 12:
                System.out.println("冬季");
                break;
            default:
                System.out.println("月份有误");
        }
        input.close();
    }
}

简洁写法:

package switchDemo;

import java.util.Scanner;

public class Test2 {
    public static void main(String[] args) {
        /*给定月份,输出季节*/
        Scanner input=new Scanner(System.in);
        System.out.println("请输入相应的月份");
        int month=input.nextInt();
        switch(month){
            case 1:
            case 2:
            case 12:
                System.out.println("冬季");
                break;
            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;
            default:
                System.out.println("月份有误");
        }
        input.close();
    }
}

练习二

package switchDemo;
import java.util.Scanner;
public class Test3 {
    public static void main(String[] args) {
        /*用switch case语句完成:
        * 给定年份和月份,输出天数。
        * */
        Scanner input=new Scanner(System.in);
        System.out.println("请输入年份");
        int year=input.nextInt();
        System.out.println("请输入月份");
        int month=input.nextInt();
        switch(month){
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                System.out.println(year+"年"+month+"月有31天");//+做文字拼接
                break;
            case 6:
            case 9:
            case 11:
                System.out.println(year+"年"+month+"月有30天");
                break;
            case 2:
                if(year%4==0){
                    System.out.println(year+"年"+month+"月有29天");
                }else{
                    System.out.println(year+"年"+month+"月有28天");
                }
                break;
            default:
                System.out.println("月份有误");
        }
        input.close();
    }
}

练习三

package switchDemo;
import java.util.Scanner;
public class Test5 {
    public static void main(String[] args) {
        /*输入学生分数,根据分数输出学生分数等级
        * score <60 不及格
        * 60=< score <70 及格
        * 70=< score <80 一般
        * 80=< score <90 良好
        * 90=< score 优秀
        * */
        Scanner sc =new Scanner(System.in);
        System.out.println("请录入分数");
        int score =sc.nextInt();
        int grade =score/10;//
        /*判断分数等级*/
        switch (grade){
            case 0:
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("不及格");
                break;
            case 6:
                System.out.println("及格");
                break;
            case 7:
                System.out.println("一般");
                break;
            case 8:
                System.out.println("良好");
                break;
            case 9:
            case 10:
                System.out.println("优秀");
                break;
            default:
                System.out.println("分数有误");
        }
        sc.close();
    }
}

补充

package switchDemo;

public class Test4 {
    public static void main(String[] args) {
        // byte short int (long不行)
        short a=10;
        switch(a){
            case 10:
                System.out.println("可以运行");
        }

        // char
        char b='a';
        switch(b){
            case 'a' :
                System.out.println("可以运行");
        }

        // boolean不行

        // String
        String c="hello";
        switch(c){
            case "hello":
                System.out.println("可以运行");
        }

        // enum(枚举)--也可以运行,后面再讲
    }
}
相关文章
|
10月前
|
存储 Oracle Java
java零基础学习者入门课程
本课程为Java零基础入门教程,涵盖环境搭建、变量、运算符、条件循环、数组及面向对象基础,每讲配示例代码与实践建议,助你循序渐进掌握核心知识,轻松迈入Java编程世界。
748 0
|
11月前
|
Java
java入门代码示例
本文介绍Java入门基础,包含Hello World、变量类型、条件判断、循环及方法定义等核心语法示例,帮助初学者快速掌握Java编程基本结构与逻辑。
724 0
|
11月前
|
Java API 数据库
2025 年最新 Java 实操学习路线,从入门到高级应用详细指南
2025年Java最新实操学习路线,涵盖从环境搭建到微服务、容器化部署的全流程实战内容,助你掌握Java 21核心特性、Spring Boot 3.2开发、云原生与微服务架构,提升企业级项目开发能力,适合从入门到高级应用的学习需求。
2948 0
|
11月前
|
前端开发 Java 数据库连接
帮助新手快速上手的 JAVA 学习路线最详细版涵盖从入门到进阶的 JAVA 学习路线
本Java学习路线涵盖从基础语法、面向对象、异常处理到高级框架、微服务、JVM调优等内容,适合新手入门到进阶,助力掌握企业级开发技能,快速成为合格Java开发者。
1397 3
|
11月前
|
监控 Java API
2025 年全新出炉的 Java 学习路线:从入门起步到实操精通的详细指南
2025年Java学习路线与实操指南,涵盖Java 21核心特性、虚拟线程、Spring Boot 3、微服务、Spring Security、容器化部署等前沿技术,助你从入门到企业级开发进阶。
1628 0
|
12月前
|
NoSQL Java 关系型数据库
Java 从入门到进阶完整学习路线图规划与实战开发最佳实践指南
本文为Java开发者提供从入门到进阶的完整学习路线图,涵盖基础语法、面向对象、数据结构与算法、并发编程、JVM调优、主流框架(如Spring Boot)、数据库操作(MySQL、Redis)、微服务架构及云原生开发等内容,并结合实战案例与最佳实践,助力高效掌握Java核心技术。
1163 2
|
12月前
|
Java 测试技术 API
Java IO流(二):文件操作与NIO入门
本文详解Java NIO与传统IO的区别与优势,涵盖Path、Files类、Channel、Buffer、Selector等核心概念,深入讲解文件操作、目录遍历、NIO实战及性能优化技巧,适合处理大文件与高并发场景,助力高效IO编程与面试准备。
|
12月前
|
Java 编译器 API
Java Lambda表达式与函数式编程入门
Lambda表达式是Java 8引入的重要特性,简化了函数式编程的实现方式。它通过简洁的语法替代传统的匿名内部类,使代码更清晰、易读。本文深入讲解Lambda表达式的基本语法、函数式接口、方法引用等核心概念,并结合集合操作、线程处理、事件回调等实战案例,帮助开发者掌握现代Java编程技巧。同时,还解析了面试中高频出现的相关问题,助你深入理解其原理与应用场景。
|
12月前
|
安全 Java
Java中的Switch表达式:更简洁的多路分支
Java中的Switch表达式:更简洁的多路分支
783 211
|
12月前
|
安全 Java 数据库连接
2025 年最新 Java 学习路线图含实操指南助你高效入门 Java 编程掌握核心技能
2025年最新Java学习路线图,涵盖基础环境搭建、核心特性(如密封类、虚拟线程)、模块化开发、响应式编程、主流框架(Spring Boot 3、Spring Security 6)、数据库操作(JPA + Hibernate 6)及微服务实战,助你掌握企业级开发技能。
1277 3