8、JAVA入门——switch选择结构

简介: 8、JAVA入门——switch选择结构

1、定义

switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

2、语法

switch case 语句语法格式如下:


switch(表达式){
    case 常量 1:
    语句;
    break;    //可选
    case 常量 2:
    语句;
    break;    //可选
    ......        //你可以有任意数量的case语句
    default:      //可选 
    语句;
    break;
  }

-->switch、case、break、default是Java关键字


-->switch后的表达式可以是int、short、byte、char、枚举类型、从 JDK1.7开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。


-->case用于与表达式进行匹配,switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。


-->break用于终止后续语句的执行。


-->default是可选的,当其他条件都不匹配时执行default。


switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。


public class Test {
   public static void main(String args[]){
      //char grade = args[0].charAt(0);
      char grade = 'C';
      switch(grade)
      {
         case 'A' :
            System.out.println("优秀"); 
            break;
         case 'B' :
         case 'C' :
            System.out.println("良好");
            break;
         case 'D' :
            System.out.println("及格");
            break;
         case 'F' :
            System.out.println("你需要再努力努力");
            break;
         default :
            System.out.println("未知等级");
      }
      System.out.println("你的等级是 " + grade);
   }
}


3、执行规律

1)计算switch后表达式的值。


2)将计算结果从上至下依次与case后的常量值比较。


3)如果相等就执行该常量后的代码块,遇到break语句就结束。


4)如果与任何一个case后的常量值都不匹配,就执行default中的语句。


注意事项:


1)如果case后没有break语句,程序将继续向下执行,直到遇到break语句或switch语句结束----“case穿透”。


public static void main(String[] args) {
  /*
   * 根据输入的月份来输出月份属于哪个季节
   * 
   * 12 1 2 冬季
   * 3 4 5 春季
   * 6 7 8 夏季
   * 9 10 11 秋季
   * 
   */
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入月份(1-12):");
  int month =sc.nextInt();
  switch(month){
  case 12:
//    System.out.println("冬季");
//    break;
  case 1:
//    System.out.println("冬季");
//    break;
  case 2:
    System.out.println("冬季");    //输入12,1月时,穿透进入case 2:中
    break;
  case 3:
//    System.out.println("春季");
//    break;
  case 4:
//    System.out.println("春季");
//    break;
  case 5:
    System.out.println("春季");    //输入3,4月时,穿透进入case 5:中
    break;
  case 6:
//    System.out.println("夏季");
//    break;
  case 7:
//    System.out.println("夏季");
//    break;
  case 8:
    System.out.println("夏季");    //输入6,7月时,穿透进入case 8:中
    break;
  case 9:
//    System.out.println("秋季");
//    break;
  case 10:
//    System.out.println("秋季");
//    break;
  case 11:                            
    System.out.println("秋季");    //输入9,10月时,穿透进入case 11:中
    break;
  }
  }


2)case常量值不能相同。


3)default语句可以在任意位置书写,但一般写在switch结构的末尾。也可以省略不写。


4、 switch与多重if异同点

相同点:


都是用来处理多分支条件的结构


不同点:


switch选择结构只能处理等值条件判断的情况


多重if选择结构既能处理某个变量处于某个连续区间时的情况,也能处理等值条件判断的情况


相关文章
|
10月前
|
存储 Oracle Java
java零基础学习者入门课程
本课程为Java零基础入门教程,涵盖环境搭建、变量、运算符、条件循环、数组及面向对象基础,每讲配示例代码与实践建议,助你循序渐进掌握核心知识,轻松迈入Java编程世界。
769 0
|
12月前
|
安全 Java 数据库连接
2025 年最新 Java 学习路线图含实操指南助你高效入门 Java 编程掌握核心技能
2025年最新Java学习路线图,涵盖基础环境搭建、核心特性(如密封类、虚拟线程)、模块化开发、响应式编程、主流框架(Spring Boot 3、Spring Security 6)、数据库操作(JPA + Hibernate 6)及微服务实战,助你掌握企业级开发技能。
1310 3
|
11月前
|
Java
java入门代码示例
本文介绍Java入门基础,包含Hello World、变量类型、条件判断、循环及方法定义等核心语法示例,帮助初学者快速掌握Java编程基本结构与逻辑。
742 0
|
12月前
|
安全 Java
Java中的Switch表达式:更简洁的多路分支
Java中的Switch表达式:更简洁的多路分支
788 211
|
11月前
|
前端开发 Java 数据库连接
帮助新手快速上手的 JAVA 学习路线最详细版涵盖从入门到进阶的 JAVA 学习路线
本Java学习路线涵盖从基础语法、面向对象、异常处理到高级框架、微服务、JVM调优等内容,适合新手入门到进阶,助力掌握企业级开发技能,快速成为合格Java开发者。
1425 3
|
12月前
|
NoSQL Java 关系型数据库
Java 从入门到进阶完整学习路线图规划与实战开发最佳实践指南
本文为Java开发者提供从入门到进阶的完整学习路线图,涵盖基础语法、面向对象、数据结构与算法、并发编程、JVM调优、主流框架(如Spring Boot)、数据库操作(MySQL、Redis)、微服务架构及云原生开发等内容,并结合实战案例与最佳实践,助力高效掌握Java核心技术。
1189 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编程技巧。同时,还解析了面试中高频出现的相关问题,助你深入理解其原理与应用场景。
|
11月前
|
Java API 数据库
2025 年最新 Java 实操学习路线,从入门到高级应用详细指南
2025年Java最新实操学习路线,涵盖从环境搭建到微服务、容器化部署的全流程实战内容,助你掌握Java 21核心特性、Spring Boot 3.2开发、云原生与微服务架构,提升企业级项目开发能力,适合从入门到高级应用的学习需求。
2999 0
|
11月前
|
监控 Java API
2025 年全新出炉的 Java 学习路线:从入门起步到实操精通的详细指南
2025年Java学习路线与实操指南,涵盖Java 21核心特性、虚拟线程、Spring Boot 3、微服务、Spring Security、容器化部署等前沿技术,助你从入门到企业级开发进阶。
1638 0