java switchJAVA中的switch语句是干什么用的啊?条件语句又是指什么?

java switch  时间:2022-02-24  阅读:()

java中switch语句

switch 语句的格式: switch ( 整型或字符型变量 ) {  case 变量可能值1 :   分支一;  break; case 变量可能值2 :   分支二;  break; case 变量可能值3 :   分支三;  break; ... default : 最后分支; } 在 switch 的语法里,我们要学到4个关键字:switch、case 、break、default。 在 switch ( 变量 ) 这一行里,变量只能是整型或字符型。程序先读出这个变量的值,然后在各个"case"里查找哪个值和这个变量相等,如果相等,就算条件成立,程序执行相应的分支,直到碰上break或者switch语句结束。 了解一下switch,case,break,default的意思,对理解前面的一切也会有帮助,它们分别是:开关,情况,中断,默认(值)。那么用一句话套起来的说法就是:根据开关值的不同,执行不同的情况,直到遇上中断;如果所有的情况都不符合开关值,那么就执行默认的分支。 最后说一下关于switch中非常重要的几个注意点。 第一、switch ( 整型或字符型变量 ) 中,变量的类型如文中所标,只能是整型和字符类型。它们包含 int,char。当然无符类型或不同的长度整型(unsigned int,short,unsigned char)等都可以。另外,枚举类型(enum)内部也是由整型或字符类型实现。所以也可以。实型(浮点型)数就不行,如: float a = 0.123; switch(a) //错误!a不是整型或字符类型变量。 { .... } 第二、case 之后可以是直接的常量数值,如例中的1、2、3、4,也可以是一个使用常量计算式,如2+2等,但不能是变量或带有变量的表达式,如 a * 2等。当然也不能是实型数,如4.1,或2.0 / 2 等。 switch(formWay) { case 2-1 : //正确 ... case a-2 : //错误 ... case 2.0 : //错误 ... } 另外,在case 与常量值之后,需要一个冒号,请注意不要疏忽。 第三、break 的作用。 break 使得程序在执行完选中的分支后,可以跳出整个switch语句(即跳到switch接的一对{}之后),完成switch。如果没有这个break,程序将在继续前进到下一分支,直到遇到后面的break或者switch完成。 比如,假设现在程序进入case 1: 中的分支,但case 1 的分支这回没有加break: case 1 : System.out.println("您是通过搜索引擎来到本网站的。"); case 2 : System.out.println("您是通过朋友介绍来到本网站的。"); 那么,程序在输出 "您是通过搜索引擎来到本网站的。" 之后,会继续输出case 2中的 "您是通过朋友介绍来到本网站的。" 。 请大家将前面实例中的代码片段改为如下(红色部分,即将所有的break都通过加//使之无效。): ...   case 1 : System.out.println("您是通过搜索引擎来到本网站的。" ); //break; case 2 : System.out.println("您是通过朋友介绍来到本网站的。"); //break; case 3 : System.out.println("您是通过报刊杂志来到本网站的。"); //break; case 4 : System.out.println("您是通过其它方法来到本网站的。"); //break; default : System.out.println("错误的选择!请输入1~4的数字做出选择。"); ... 运行后,结果会是如何?请大家动手试试,然后在作业中回答我。 第四、default是可选中,前面我们已经说过它的用处,及如果没有default,程序在找不到匹配的case分支后,将在switch语句范围内不做什么事,直接完成switch。大家也可以在实例中将default的代码注释掉,然后试运行,并且在选择时输入5。 ... //default : //cout << "错误的选择!请输入1~4的数字做出选择。" << endl; ... 第五、必要时,可在各个case中使用{}来明确产生独立的复合语句。 前面我们在讲if...语句和其它流程控制语句时,都使用{}来产生复合语句: if (条件) { 分支一; } 除非在分支中的语句正好只有一句,这里可以不需要花括号{}。但在switch的各个case语句里,我们在语法格式上就没有标出要使用{},请看: switch ( 整型或字符型变量 ) {  case 变量可能值1 :   分支一;  break; case 变量可能值2 : .... } 一般教科书上只是说 case 分支可以不使用{},但这里我想提醒大家,并不是任何情况下case分支都可以不加{},比如你想在某个case里定义一个变量: switch (formWay) { case 1 : int a=2; //错误。由于case不明确的范围,编译器无法在此处定义一个变量。 ... case 2 : ... } 在这种情况下,加上{}可以解决问题。 switch (formWay) { case 1 :  {  int a=2; //正确,变量a被明确限定在当前{}范围内。 ...  }  case 2 : ... }

JAVA中的switch语句是干什么用的啊?条件语句又是指什么?

Switch 语句用于将一个表达式的值同许多其他值比较,并按比较结果选择下面执行哪些语句,Switch语句的使用格式如下: switch(表达式) { case1: 语句块1 Break; ... casen: 语句块n Break; default: 语句块n+1 Break; } 例如 我们要将1~3对应的星期几的英文单词打印出来,程序代码如下: int x=2; switch(x) { case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; case 3: System.out.println("Wedensday"); break; default: System.out.println("sorry,i have no idea!"); } 因为x=2 所以结果就是 Tuesday 希望这些能帮助你理解!祝你JAVA越学越好

LOCVPS:VPS主机全场8折,德国/荷兰/美国KVM终身7折

LOCVPS发来了针对元旦新年的促销活动,除了全场VPS主机8折优惠外,针对德国/荷兰KVM #1/美国KVM#2 VPS提供终身7折优惠码(限量50名,先到先得)。LOCVPS是一家成立于2012年的国人VPS服务商,提供中国香港、韩国、美国、日本、新加坡、德国、荷兰、俄罗斯等地区VPS服务器,基于KVM或XEN架构(推荐优先选择KVM),均选择直连或者优化线路,国内延迟低,适合建站或远程办公使...

趣米云月付460元,香港CN2云服务器VPS月付低至18元

趣米云早期为做技术起家,为3家IDC提供技术服务2年多,目前商家在售的服务有香港vps、香港独立服务器、香港站群服务器等,线路方面都是目前最优质的CN2,直连大陆,延时非常低,适合做站,目前商家正在做七月优惠活动,VPS低至18元,价格算是比较便宜的了。趣米云vps优惠套餐:KVM虚拟架构,香港沙田机房,线路采用三网(电信,联通,移动)回程电信cn2、cn2 gia优质网络,延迟低,速度快。自行封...

Hostio€5/月KVM-2GB/25GB/5TB/荷兰机房

Hostio是一家成立于2006年的国外主机商,提供基于KVM架构的VPS主机,AMD EPYC CPU,NVMe硬盘,1-10Gbps带宽,最低月付5欧元起。商家采用自己的网络AS208258,宿主机采用2 x AMD Epyc 7452 32C/64T 2.3Ghz CPU,16*32GB内存,4个Samsung PM983 NVMe SSD,提供IPv4+IPv6。下面列出几款主机配置信息。...

java switch为你推荐
策略组怎样打开组策略???inode智能客户端我的电脑上inode智能客户端连接网络时,提示~服务器没有响应,请确认当前认证网卡已连接到合适的网数据分析报告范文如何写数据分析报告?新手怎么制作表格我是初学者、电脑上怎么制作表格新手怎么制作表格怎样能学会制作表格国外社交网站国外联合中国的交友网站疫苗之王万兽之王是什么意思multiplerMSA是什么意思?谢谢滚动条颜色滚动条颜色设置微信客服在线咨询怎样可以联系到微信在线客服?
台湾虚拟主机 域名买卖 域名交易网 openv 新世界机房 加勒比群岛 59.99美元 mediafire下载工具 20g硬盘 42u机柜尺寸 unsplash me空间社区 泉州移动 phpmyadmin配置 佛山高防服务器 免费phpmysql空间 卡巴斯基破解版 新睿云 贵阳电信 godaddyssl 更多