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越学越好

妮妮云(100元/月)阿里云香港BGP专线 2核 4G

妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...

A400互联37.8元/季,香港节点cn2,cmi线路云服务器,1核/1G/10M/300G

A400互联怎么样?A400互联是一家成立于2020年的商家,A400互联是云服务器网(yuntue.com)首次发布的云主机商家。本次A400互联给大家带来的是,全新上线的香港节点,cmi+cn2线路,全场香港产品7折优惠,优惠码0711,A400互联,只为给你提供更快,更稳,更实惠的套餐,香港节点上线cn2+cmi线路云服务器,37.8元/季/1H/1G/10M/300G,云上日子,你我共享。...

ReliableSite怎么样,月付$95美国洛杉矶独立服务器

ReliableSite怎么样?ReliableSite好不好。ReliableSite是一家成立于2006年的老牌美国商家,主要经营美国独立服务器租赁,数据中心位于:洛杉矶、迈阿密、纽约,带宽1Gbps起步,花19美元/月即可升级到10Gbps带宽,月流量150T足够各种业务场景使用,且免费提供20Gbps DDoS防护。当前商家有几款大硬盘美国独服,地点位于美国洛杉矶或纽约机房,机器配置很具有...

java switch为你推荐
stackoverflowerrorJava-java产生StackOverflowError的原因是什么bloomfilter布隆过滤器既然有错误率,为什么还能应用在key-value系统中?fcloseC语言文件关闭函数fclose(文件指针)是什么?oracle索引什么是Oracle的函数索引?网关和路由器的区别网关和路由器的具体区别在哪里呀?拓扑关系拓扑关系在GIS中的作用天融信防火墙如何使用天融信NGFW4000防火墙工具丁奇赛尔号丁奇技能表,带等级,刷什么学习力好?有b吗34B的胸围有多大?layoutsubviews如何修改TableViewCell中的ImageView的Frame和大小
动态域名解析 申请免费域名 hostmaster site5 私人服务器 kddi 服务器架设 合肥鹏博士 云全民 100x100头像 idc资讯 nerds 卡巴斯基免费试用版 in域名 厦门电信 闪讯官网 宏讯 网购分享 东莞服务器托管 独立主机 更多