Java基础之switch分支语句

news2024/12/27 11:27:58

switch分支语句

​ switch语句也称为分支语句,其和if语句有点类似,都是用来判断值是否相等,但switch默认只支持byte、short、int、char这四种类型的比较,JDK8中也允许String类型的变量做对比。

语法:

switch (表达式) {	  //表达式可以为byte、short、int、char,JDK5加入枚举,JDK7加入String
	case1:			//分支入口
		语句体1;
		break;
	case2:			//分支入口
		语句体2;
		break;
	...
	default:
		语句体n+1;
		break;
}

//后续语句

格式说明:

在这里插入图片描述

执行流程:
在这里插入图片描述

基础案例:

​ 从键盘录入mode值,其值为0 1 2 3中任意一个,然后输出相应字符串

package com.briup.chap03;

import java.util.Scanner;

public class Test023_SwitchBasic {
	//从键盘录入mode值,其值为0 1 2 3中任意一个,然后输出相应字符串
	public static void main(String[] args) {
	    Scanner sc = new Scanner(System.in);
	    System.out.println("input a mode(0 1 2 3): ");
	    int mode = sc.nextInt();

	    switch(mode){
	        case 0:
	            System.out.println("默认模式开启");
	            //注意讲解break用法:结束switch语句
	            //break;
	        case 1:
	            System.out.println("1模式开启");
	            break;
	        case 2:
	            System.out.println("2模式开启");
	            break;
	        case 3:
	            System.out.println("3模式开启");
	            break;
	        default:
	            System.out.println("无效录入");
	            //break;
	    }
        
        System.out.println("out of switch!");
	}
}

扩展案例:

​ 从键盘录入一个年份和月份,然后输出该月份的天数

package com.briup.chap03;

import java.util.Scanner;

public class Test023_Extend {
	public static void main(String[] args) {
	    Scanner sc = new Scanner(System.in);
	    System.out.println("请录入年份和月份: ");
	    int year = sc.nextInt();
	    int month = sc.nextInt();

	    switch(month) {
	        case 1:
	        case 3:
	        case 5:
	        case 7:
	        case 8:
	        case 10:
	        case 12:
	            System.out.println("31天");
	            break;
	        case 4:
	        case 6:
	        case 9:
	        case 11:
	            System.out.println("30天");
	            break;
	        case 2:
	            //闰年判断
                if((year % 400 == 0) ||
                        (year % 4 == 0 && year % 100 != 0)) {
                    System.out.println("29天");
                }else {
                    System.out.println("28天");
                }
	            break;
	        default:
	            System.out.println("录入月份有误!");
	            break;
	    }
        
        System.out.println("out of switch!");
	}
}

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

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

相关文章

了解数据库中常用存储引擎数据结构(3)

接上文了解数据库中常用存储引擎数据结构(2)-CSDN博客 目录 CoW BTree 补充:写入时复制(Copy-on-write,简称COW)是一种计算机程序设计领域的优化策略; Lazy BTree(惰性BTree&…

【Linux】缓冲区和文件系统

目录 一、缓冲区 1.1 概念 1.2 用户缓冲区和内核缓冲区 二、磁盘的结构 三、文件系统 3.1 初识“块”和inode 3.2 磁盘分区和文件系统 一、缓冲区 1.1 概念 要理解什么是缓冲区&#xff0c;先看这段代码 #include <stdio.h> #include <string.h> #includ…

OpenTelemetry:新一代的开源可观测性标准

OpenTelemetry是由OpenTracing和OpenCensus两个开源项目合并而成&#xff0c;由云原生计算基金会&#xff08;CNCF&#xff09;托管。该项目旨在提供一套标准化的、跨语言的观测性工具&#xff0c;帮助开发人员和运维人员更好地理解和管理分布式系统的性能和行为。通过统一的Me…

html5宠物网站模板源码

文章目录 1.设计来源1.1 主界面1.2 主界面菜单1.3 关于我们界面1.4 宠物照片墙界面1.5 宠物博客界面1.6 宠物服务界面1.7 宠物团队界面1.8 联系我们界面 2.效果和源码2.1 源代码 源码下载万套模板&#xff0c;程序开发&#xff0c;在线开发&#xff0c;在线沟通 【博主推荐】&a…

微信小程序同城信息共享

前端uniapp 后端thinkphp 热乎的纯手工代码

机械学习—零基础学习日志(如何理解线性代数3)

零基础为了学人工智能&#xff0c;正在快乐学习&#xff0c;每天都长脑子 行列式 最早行列式&#xff0c;是莱布尼茨用于判断&#xff0c;一个方程有没有解。例如&#xff0c;三元一次方程&#xff0c;如果有解&#xff0c;对应行列式就有值&#xff0c;但是如果无解&#xf…

一篇文章理清Java持久化脉络(关于JDBC、JPA、Hibernate、Spring Data JPA)

Java持久化 一、JDBC、JPA、Spring Data JPA 的定义及关系二、JDBC&#xff08;古老的东西&#xff0c;只需简单知道是啥&#xff09;1.1 JDBC概念1.2 JDBC示例 三、JPA&#xff08;第二代持久化&#xff0c;代表是Hibernate等框架&#xff09;3.1 JPA概念3.2 JPA示例 四、Spri…

GB/T 38082-2019 生物降解塑料购物袋检测

生物降解塑料购物袋是指以生物降解树脂为主要原料制得的&#xff0c;具有提携结构的&#xff0c;在销售、服务等场所用于盛装及携提商品的袋制品。 GB/T 38082-2019 生物降解塑料购物袋检测项目&#xff1a; 检测项目 测试标准 尺寸偏差 GB/T 38082 感官 GB/T 38082 提掉…

html+css+js网页设计 大一电商6个页面 带js 有轮播图,增删改查等功能

htmlcssjs网页设计 大一电商6个页面 带js 有轮播图&#xff0c;增删改查等功能 网页作品代码简单&#xff0c;可使用任意HTML编辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等…

JTAG标准笔记:IEEE1149.1、IEEE1149.4、IEEE1149.5、IEEE1149.6、 IEEE1500等协议之前的发展和联系

JTAG (Joint Test Action Group) 是一种串行通信协议。对于典型的串行通信&#xff0c;总线较少&#xff0c;线路数通常为1到4条&#xff0c;数据是以位为单位依次传输的。笔记中大部分图片来自JTAG标准介绍UP的视频 IEEE 1149.1&#xff0c;通常称为JTAG&#xff08;Joint Tes…

安防监控/视频汇聚平台EasyCVR如何配置,实现默认获取设备的子码流?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台基于云边端一体化架构&#xff0c;兼容性强、支持多协议接入&#xff0c;包括国标GB/T 28181协议、部标JT808、GA/T 1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SD…

设计模式22-迭代器模式

设计模式22-迭代器模式 迭代器模式&#xff08;Iterator Pattern&#xff09;动机定义结构定义结构结构图解释注意事项 C代码推导多态属性&#xff08;虚函数&#xff09;实现迭代器1. **返回值问题**2. **对象切割问题**3. **内存管理问题**4. **迭代器生命周期问题**5. **接口…

static、extern,const关键字

1、static关键字 static关键字&#xff1a;延长生命周期&#xff0c;限制作用域 static修饰局部变量&#xff1a;静态局部变量 static修饰全局变量&#xff1a;静态全局变量 static修饰函数&#xff1a;静态函数 2、extern关键字 extern&#xff1a;引用其他文件 .c 中的全局…

对敲期权组合如何操作?

对敲期权组合按照你说的对沖敲出期权应该是一种期权套利行为&#xff0c;在买入的同时卖出一个执行价格不同的期权进行对冲&#xff0c;或者在卖出一张期权合约的时候同时买进一张执行价不动的同类期权进行对中&#xff0c;这样亏报有限&#xff0c;是种套利行为&#xff0c;下…

Java基础之进制转换

1 进制基础 概念&#xff1a; ​ 进制就是进位制&#xff0c;是人们规定的一种进位方法&#xff0c;二进制逢2进1&#xff0c;八进制是逢8进1&#xff0c;十进制逢10进1&#xff0c;十六进制逢16进1。 不同进制形式&#xff1a; 二进制 0b或0B开头&#xff0c;由0和1组成 八…

爬虫配置代理:保护隐私有效地抓取数据

爬虫配置代理的详细指南 在进行网络爬虫时&#xff0c;使用代理可以帮助我们更有效地抓取数据&#xff0c;避免IP被封禁&#xff0c;并提高隐私保护。本文将详细介绍如何在爬虫中配置代理&#xff0c;包括不同的代理类型、如何选择合适的代理以及在Python中实现代理的具体步骤…

中国软件评测中心:2024年最新人工智能大语言模型技术发展研究报告 (附文档)

人工智能作为引领新一轮科技产业革命的战略性技术和新质生产力重要驱动力&#xff0c;正在引发经济、社会、文化等领域的变革和重塑&#xff0c;2023 年以来&#xff0c;以 ChatGPT、GPT-4 为代表的大模型技术的出台&#xff0c;因其强大的内容生成及多轮对话能力&#xff0c;引…

python-A+B again

[题目描述] 小理有一个非常简单的问题给你&#xff0c;给你两个整数 A 和 B&#xff0c;你的任务是计算 AB。输入格式&#xff1a; 输入共 2∗T1 行。 输入的第一行包含一个整数 T 表示测试实例的个数&#xff0c;然后 2∗T 行&#xff0c;分别表示 A 和 B 两个正整数。注意整数…

调研在深度学习中如何读代码

这里调研了四个up主的内容&#xff0c;对他们讲的内容摘了一下主要的内容。想要看原文的画可以看原篇。 1.如何学习别人的代码&#xff08;代码量较大时&#xff09;_怎么学习别人的代码-CSDN博客 想要掌握的好&#xff0c;光阅读是不够的&#xff0c;一定要动手写、训练模型…

k8s 部署RuoYi-Vue-Plus之minio搭建

1.直接部署一个pod 需要挂载存储款, 可参考 之前文章设置 https://blog.csdn.net/weimeibuqieryu/article/details/140183843 2.部署yaml 创建部署文件 minio-deploy.yaml apiVersion: v1 kind: PersistentVolume metadata:name: minio-pvnamespace: ruoyi #使用ns ruoyi s…