【自学Java】Java switch语句

news2024/9/21 18:48:47

Java switch语句

Java switch语句教程

Java 语言 中如果遇到多选一的场景,可以使用 switch 将其简化,让程序更加简洁易懂。switch 语句可以被 if…else 代替。它里面包含 switch、case、default 和 break 关键字。

switch 中存放的是对应的被比较的值,case 里面是条件,default 表示不符合所有的 case 条件的语句,在 default 里面都可以执行,break 表示终止条件判断,跳出当前的 switch。

Java switch语句详解

语法

switch(condition){
  case value1:
      //do something
       break;
  case value2:
      //do something
       break;
    ......
  default:
      // do something;
       break;
}

参数

参数描述
conditionswitch 条件判断使用的关键字
condition表达式的值,类型可以是 byte,short,int,char,枚举,String
case比较关键字,将其后面的值与 condition 比较
value1对具体的数值判断,如果和 condition 值相等,就执行里面的操作
break跳出当前 switch 语句的关键字,如果没有,当前符合的条件后面执行语句都会执行
default前面 case 都不满足条件时,会在 default 里面执行

案例

正常的拥有break语句

package com.haicoder.net.basic;

public class SwitchTest {
    public static void main(String[] args) {
        System.out.println("嗨客网(www.haicoder.net)");

        String param = "haicoder";
        switch (param) {
            case "hello":
                System.out.println("hello world");
                break;
            case "haicoder":
                    System.out.println("hello haicoder");
                break;

            default:
                System.out.println("haicoder , 嗨 code");
                break;
        }

    }
}

运行结果如下:

请添加图片描述

例子中,我们用了 String 类型的字符串作为条件进行比较。因为 param 和 第二个 case 的条件一样,所以就在控制台中打印出 hello haicoder

错误使用没有break语句

package com.haicoder.net.basic;

public class IfTest {
    public static void main(String[] args) {
        System.out.println("嗨客网(www.haicoder.net)");

        String aa = "haicoder";
        switch (aa) {
            case "hello":
                System.out.println("hello world");
            case "haicoder":
                    System.out.println("hello haicoder");
            case "coder":
                System.out.println("hi coder");
            default:
                System.out.println("haicoder , 嗨 code");
        }

    }
}

运行结果如下:

请添加图片描述

我们在 case 里面忘记了使用 break,因为在 第二个 case 处就符合条件了,所以第二个 case 之后就不会判断是否相等,默认都认为条件成功,将一直执行下去,直到遇到 break 为止。上面的语句效果和下面一样:

package com.haicoder.net.basic;

public class IfTest {
    public static void main(String[] args) {
        System.out.println("嗨客网(www.haicoder.net)");

        String aa = "haicoder";
        switch (aa) {
            case "hello":
                System.out.println("hello world");
            case "haicoder":
            case "coder":
                System.out.println("hello haicoder");
                System.out.println("hi coder");
                System.out.println("haicoder , 嗨 code");
        }

    }
}

Java语言switch总结

上面的例子中,switch 语句可以用 if…else 语句来替换,感兴趣的同学可以试一下,我们在使用过程中一定要合理使用 break 关键字,如果这个关键字使用不合理,就会给程序执行带来意想不到的结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/138672.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

题402.数位dp-acwing-1082. 数字游戏1083. Windy数1085. 不要62

文章目录题402.数位dp-acwing-1082. 数字游戏一、题目二、题解三、类似题目四、关于数位dp题402.数位dp-acwing-1082. 数字游戏 一、题目 二、题解 欲求区间[X,Y]中满足性质的数的个数,我们可以想着去求小于m的数中满足性质的个数f(m),然后利用前缀和思…

WebDAV之葫芦儿·派盘+FX播放器

FX播放器 支持WebDAV方式连接葫芦儿派盘。 想要把手机、PC、NAS等设备上的视频在智能电视上大屏播放,支持超多格式的多合一视频播放器?快来试试FX播放器吧。 FX播放器除了存储在智能手机上的视频外,您网络上的视频也是实时无缝的࿰

关于TCP通信的学习和应用案例

记录学习TCP通信的过程,包括理论知识、在Qt中建立TCP服务端和客户端,并附上源代码。由于最近的项目中也使用到了海康VisionMaster软件,可以将其作为服务端,用Qt写的TCP客户端和其进行通信测试,方便调试。 目录1.关于TC…

MATLAB APP 设计实践(一)UART通信(上篇)

引言UART通信属于异步串行通信,通信速率比较低,在一些速度要求不高的场合常用来作为多设备之间的控制与被控制方式。例如以UART串口通信作为上位机侧与运行设备之间的通信形式,实现上位机对设备的操控以及检测设备运行状态等。那么谈到了上位…

PyTorch实战1

传送门:蓝桥云课实验 目录1. 实验环境2. 实验目的3. 相关原理4. 实验步骤4.1 数据预处理4.1.1 对于类型变量的处理4.1.2 对于数值类型变量进行标准化4.1.3 数据集分割4.2 创建模型手写用Tensor运算的人工神经网络4.3 训练模型4.3.1 数据的分批次处理4.4 测试模型1. …

逆向-还原代码之eth (Arm 64)

// 源程序 #include <stdio.h> #define HIETH_SYSREG_BASE (0x101e0000) #define REG_RESET 0x01C // 外设控制寄存器(IP软复位控制) #define RESET_SHIFT 12 static void hieth_set_regbit(unsigned long addr, int bit, int shift) { unsigned long …

Practise test day16

一.单选 1.在关系型是数据库中&#xff0c;有两个不同的事务同时操作数据库中同一表的同一行&#xff0c;不会引起冲突的是&#xff1a;&#xff08;F&#xff09; A. 其中一个DELETE操作&#xff0c;一个是SELECT操作 B. 其中两个都是UPDATE C. 其中一个是SELECT&#xff…

ruoyi通过oauth对接pig实现sso流程讲解

1、时序图 2、流程解析 本流程是以使用Ruoyi对接Pig授权中心为例&#xff0c;进行讲解&#xff0c;其他网站的的oauth的原理都和这个一样&#xff0c;所以只要把这个流程搞懂了即可&#xff0c;接下来就按照真实的流程进行逐步解析。 2.1 第1步 用户还未登录&#xff0c;访问r…

浏览器Performance性能监控使用详解

文章目录1.Performance2.测试性能操作流程3.Performance检测结果详解区域1&#xff1a;controls【控制栏】区域2&#xff1a;overview【网页性能总览图】区域3&#xff1a;火焰图【各项指标的堆叠追踪可视化】区域4&#xff1a;统计汇总【以图表的形式汇总数据】4 其他监控性能…

BGP在数据中心的应用6——BGP在服务器上的应用

注&#xff1a; 本文根据《BGP in the Datacenter》整理&#xff0c;有兴趣和英文阅读能力的朋友可以直接看原文&#xff1a;https://www.oreilly.com/library/view/bgp-in-the/9781491983416/上一部分笔记请参考&#xff1a;https://blog.csdn.net/tushanpeipei/article/deta…

视频如何在线生成二维码?视频转二维码的2种方法

现在很多小伙伴都喜欢将视频转二维码&#xff0c;通过这种方式来分享传递内容&#xff0c;那么如何将视频生成二维码更加的简单快捷呢&#xff1f;大家可以用一下小编分享的这款在线二维码生成工具来制作二维码&#xff0c;通过浏览器在线生成二维码&#xff0c;更加的简单快捷…

设计模式——迭代器模式

迭代器模式一、基本思想二、结构图三、代码一、基本思想 提供一个对象来顺序访问聚合对象中的一系列数据&#xff0c;而不暴露聚合对象的内部表示。迭代器模式是一种对象行为型模式&#xff0c;其主要优点如下&#xff1a; 访问一个聚合对象的内容而无须暴露它的内部表示。遍…

【Kotlin】函数 ④ ( 匿名函数参数 | 匿名函数 it 关键字 )

文章目录一、匿名函数参数二、匿名函数 it 关键字一、匿名函数参数 匿名函数 可以不带参数 , 也可以带多个参数 ; 不带参数的匿名函数 : // 声明 函数类型 变量, 并为其赋值 匿名函数val helloFun: ()->String {"Hello World"}带参数的匿名函数 : 匿名函数 的 参…

安装一个Excel插件,轻松网罗50+主流数据库

电子表格软件&#xff08;Smartbi Spreadsheet&#xff09;是思迈特软件推出的企业报表产品&#xff0c;产品以“真Excel”为特色&#xff0c;只需要安装一个小小插件&#xff0c;就能解决Excel最头疼的数据连接和性能问题。电子表格软件的数据源范围涵盖了本地数据库、关系型数…

如何学习虚幻引擎的Blueprint?

&#xff08;虚幻学习路线-方法概括版&#xff09; 【写在前面】&#xff1a;本篇内容颇多&#xff0c;并不是一大堆全学&#xff0c;把这篇当成一个字典&#xff0c;选择性学习&#xff0c;缺哪学哪~ 一、Blueprint &#xff08;一&#xff09;什么是虚幻引擎的Blueprint&…

C++STL之list容器

一&#xff1a;list特性list为带哨兵位双向循环链表&#xff0c;支持任意位置的插入和删除。与&#xff08;array&#xff0c;vector&#xff0c;deque&#xff09;相比&#xff0c;list的移除元素效率更高。最大缺陷是不支持[]重载&#xff0c;不支持随机访问&#xff0c;只能…

基于 EventBridge API Destination 构建 SaaS 集成实践方案

作者&#xff1a;赵海 引言 事件总线 EventBridge 是阿里云提供的一款无服务器事件总线服务&#xff0c;支持阿里云服务、自定义应用、SaaS 应用以标准化、中心化的方式接入&#xff0c;并能够以标准化的 CloudEvents 1.0 协议在这些应用之间路由事件&#xff0c;帮助您轻松构…

Mockjs入门基础概念与使用

文章目录Mockjs入门使用1、概述2、安装引入3、语法规范3.1 数据模板定义规范&#xff08;DTD)3.1.1 DTD介绍3.1.2 规范实例演示字符串String数字Number布尔Boolean对象Object数组Array函数Function正则表达式RegExp3.2 数据占位符定义规范DPD4、关于Mock.mock()方法4.1 参数介绍…

RabbitMQ 常见面试题

RabbitMQ 常见面试题 1.为什么要用消息队列? (消息队列的应用场景?) 2.各种消息队列产品的比较? 3.消息队列的优点和缺点? 4.如何保证消息队列的高可用? 5.如何保证消息不丢失? 6.如何保证消息不被重复消费?(如何保证消息消费的幂等性&#xff09; 7.如何保证消息消费的…

PMP证书好考吗?

PMP 还是很好考的&#xff0c;各大机构 3A 的人也很多&#xff0c;我的备考经验分享给大家参考下&#xff0c;大家可以取长补短&#xff0c;找到适合自己的备考方法&#xff1a;一、复习计划的制定根据之前在培训班共同奋斗的小伙伴学习时间统计&#xff0c;平均每天的学习时间…