博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
switch和if else的区别和应用
阅读量:4561 次
发布时间:2019-06-08

本文共 1052 字,大约阅读时间需要 3 分钟。

序编码中的两种分支结构:switch和if else

对于初学者而言对这两种分支结构可能不知道在什么情况下用什么样的分支结构
那么我现在就来讨论一下在何种情况下选择何种分支结构。
对于switch,一般适用于等值比较

switch(x){

case 值:
//语句
break; //optional

case 值:

//语句
break; //optional
可以有很多case语句

default: //可选

//语句
}

case值是在和x做一个等值比较,switch是不能做范围比较(也就是大小于比较)的,在某些情况下,switch也是可以转换成做范围比较的,比如在输入成绩判断等级的时候,比如:

score>=90 A
score>=80 B
score>=70 C
score>=60 D
score<60 E

可能有些同学要问了,在这样的情况下,如何去做一个等值比较在case语句中来判断成绩等级。

对于这种情况,我们可以做一个取整运算来作比较,如:
score/10=9 A
score/10=8 B
score/10=7 C
score/10=6 D
default E

这样就可以把范围比较转换为等值比较了,但是大家注意了,switch语句的值只支持32位或者更小的整数值,也就是说只能是 byte,short,int,char类型,在JDK7.0以后,变量可以是String类型。

对于if else而言可以做范围比较和布尔比较,数值的范围比较大家都知道,那么对于字符串的比较又该怎么做?

那么javaAPI里提供了一个 equals() 的方法这个方法用于字符串的等值比较,返回值是String类型,这个方法是区分大小写的,那么还有一个 equalsIgnoreCase() 的方法,这个方法和 equals() 方法的功能是一样的,只不过在这个方法里面对于做比较的两个String是不区分大小写的,如:
String str=XXXX;
String str1=CCCC;
if(str.equals(str1))或者也可以 if(str.equals("CCCC"))
那么java API还提供了一个做类型比较的方法:instanceof
这个方法用于判断所比较的对象是否属于特定的数据类型,如:
if(str intanceof String)
返回值是布尔类型

转载于:https://www.cnblogs.com/CodeMeteor/p/3651143.html

你可能感兴趣的文章
zoj 3462
查看>>
java多线程-信号量
查看>>
如何在Delphi XE2中使用Dynamic Web TWAIN
查看>>
js自定义实用函数总结
查看>>
java内存区域与内存溢出异常
查看>>
点点滴滴的成长[2011-11-1]:理解C#修饰符
查看>>
csrf(跨站请求伪造)
查看>>
高性能MySQL笔记-第1章MySQL Architecture and History-001
查看>>
在ubuntu下如何验证文件的MD5码 (转载)
查看>>
嵌入式Linux开发板
查看>>
通过创建制定版本react-native项目解决“Unable to resolve module `AccessibilityInfo` ”的问题...
查看>>
[BZOJ2730][HNOI2012]矿场搭建 点双 割点
查看>>
Linux/Mac 挂载远程服务器目录到本地
查看>>
1,实现在线答题 2,答题结束后可以判断对错 3,并将错题的结果保存起来。...
查看>>
JS中原始值和引用值的储存方式
查看>>
初学C#的简单编程题合集(更新)
查看>>
Linux学习闲谈(一)——Shell基本操作与命令
查看>>
写日志文件
查看>>
jvm 学习 二
查看>>
Date的格式转换
查看>>