Java多重选择语句--Switch

简介: 记录一下Java的多重选择语句——Switch

0 写在前面

在处理多个选项时,使用 if/else 结构显得有些笨拙。
switch 语句将从与选项值相匹配的 case标签开始执行,直到遇到 break语句,或者执行到 switch 语句的结束处为止。如果没有相匹配的 case 标签,而有 default 子句,就执行这个子句。
最后的default类似于if/else中的最后一个else。但是有很大的区别。
虽然可以替代if/else。但是在实际开发中,switch基本不使用。

1 解释

一般形式:

switch(表达式){ 

    case 常量表达式1:  语句1;
    case 常量表达式2:  语句2;
    … 
    case 常量表达式n:  语句n;
    default:  语句n+1;
}

流程图举例:

switch(表达式){ 

    case 常量表达式1:  语句1;
    case 常量表达式2:  语句2;
       case 常量表达式3:  语句3;
    case 常量表达式4:  语句4;
    default: default语句;
}

流程图

其中:
case 标签可以是:
类型为char、byte、short 或int 的常量表达式
枚举常量。
case 标签还可以是字符串字面量

2 代码举例

String str = "zhangsan";
        String name = "";
        switch (str) {
            case "zhangsan":        name = "zhangsan";break;
            case "lisi":            name = "lisi";break;
            case "wangwu":          name = "wangwu";break;
            case "zhaoliu":         name = "zhaoliu";break;
            case "jack":            name = "jack";break;
        }
       System.out.println("name:"+name);

多重选择。当选择上zhangsan时,就把名字赋值。
运行结果

name:zhangsan

结果没问题

写在末尾

1.case后的常量表达式不能相同;

  1. case后的语句可以有多个且不用花括号括起来;

3.case和default子句的先后顺序可以先后变动,default子句可以省略不用;

相关文章
|
1月前
|
Java C++ 开发者
【技术贴】if-else VS switch:谁才是Java条件判断的王者?
【6月更文挑战第14天】本文探讨了Java中if-else与switch语句的选择问题。if-else基于布尔逻辑,适合处理复杂逻辑,而switch在处理多分支特别是枚举类型时更高效。if-else在条件动态变化或复杂逻辑时更合适,switch则因其跳转表机制在固定选项中表现优秀。性能上,switch在大量选项时占优,但现代JVM优化后两者差异不大。选择时应考虑场景、可读性和维护性,灵活运用。理解两者特点,才能写出优雅高效的代码。
|
13天前
|
Java 编译器 开发者
Java中Switch语句的使用及性能考量
Java中Switch语句的使用及性能考量
|
1月前
|
Java 开发者
超实用!一文搞懂Java中if-else和switch的正确打开方式!
【6月更文挑战第14天】本文探讨了Java中if-else与switch语句的使用场景和选择策略。if-else适用于复杂逻辑和动态条件,而switch在处理固定选项和枚举类型时更优,且在性能上因跳转表机制而占优。理解两者本质和适用场景,能帮助开发者写出更清晰、高效的代码。在实践中,应根据具体情况灵活选用,以实现最佳编码效果。
|
1月前
|
Java 开发者
别再傻傻分不清!Java if-else与switch的性能对比全解析!
【6月更文挑战第14天】本文探讨了Java中if-else与switch语句的性能异同。虽然现代JVM的优化使得两者性能差异不大,但特定情况下仍有区别。switch通过跳转表提供高效执行,尤其适用于枚举和固定值,而if-else依赖条件顺序,JVM可能优化常量条件。实验显示,处理大量重复case时,switch性能更优。选择时还需考虑可读性和维护性,灵活运用以实现高效优雅的代码。
|
1月前
|
Java
【深度解读】Java条件语句:if-else与switch的适用场景大起底!
【6月更文挑战第14天】本文探讨了Java中if-else和switch条件语句的适用场景。if-else以其灵活性处理复杂逻辑判断,适合多种条件组合;而switch在多分支选择上更高效简洁,尤其适用于枚举类型和固定常量。了解两者特点有助于写出更优雅、高效的代码。
|
1月前
|
Java 编译器 程序员
【实战攻略】Java高手教你如何灵活运用if-else和switch,提升代码效率!
【6月更文挑战第14天】本文探讨了Java中if-else和switch语句的巧妙运用,通过示例展示了如何提升代码效率和可读性。通过使用Map重构if-else结构,使代码更简洁易维护;利用switch处理枚举类型,实现清晰的代码结构。在性能方面,switch在选项少时占优,而现代JIT编译器优化后的if-else适用于大规模字符串比较。理解并灵活运用这两种控制结构,能助你在Java编程中写出高效、易读的代码。
|
1月前
|
存储 Java 编译器
【编程秘籍】掌握这些技巧,让Java中的条件语句if-else和switch为你的项目加分!
【6月更文挑战第14天】本文探讨了在Java中优化if-else和switch语句的方法,以提高代码可读性和维护性。通过案例展示了如何使用Map替换if-else结构,简化会员等级折扣计算,并利用switch语句处理有限选择,以及在操作类型增加时采用策略模式或工厂模式。此外,文章还提到了性能考量,指出在不同场景下选择合适的条件语句。掌握这些技巧对于提升代码质量和性能至关重要。
|
2月前
|
存储 Java 程序员
Java程序设计基础——多重循环
Java程序设计基础——多重循环
|
2月前
|
Java
Java中的Switch选择语句详解
Java中的Switch选择语句详解
44 0
|
2月前
|
XML 算法 Java
Java编程中多重循环
Java编程中多重循环
29 0