switch语句是一个多路选择语句,也称为开关语句。它可以根据一个整型表达式有条件地选择一个语句执行。其语句的格式如下:
由于switch使用整型表达式,所以此处整型表达式的值必须是与int兼容的类型,即可以是byte,short,char和int型,不能使用float,double或long型,且各子句中的c1,…,ck都是int型或char型常量。switch语句都可以用if-else-if语句来实现。但在某些情况下,使用switch语句更简单,程序的可读性强,且程序运行效率更高。但switch语句在数据类型上受到“整型表达式”的限制。
例2-8提供了产生随机整数的方法,其整数范围是−2147483648~2147483647。下面的例2-9中将提供产生在任何指定范围内的随机整数方法。这种方法在程序开发中是常用的。注意其算法如下:
1)用java.util.Random类的方法nextFloat()产生0.0~1.0的随机浮点数。
2)然后将其转换成在适当范围内的浮点数x。(www.xing528.com)
3)用Math.round(float x)将x四舍五入为整数。
【例2-9】产生从1~12的随机整数month,根据month的值显示相应的月份。
程序运行结果将随机地输出从January到December中的某个月份。所有的switch分支都可用if语句实现。例如,本例题可用如下的if语句实现:
选择使用if语句还是switch语句主要是根据可读性以及其他因素来决定。if语句可以根据多种条件表达式来决定,而switch语句只有根据单个整型变量来做决定。另外一点必须注意的是,switch语句在每个case之后有一个break语句。每个break语句都终止switch语句,并且控制流程继续执行switch块之后的第一个语句。break语句是必需的,若没有break语句,则控制流程按顺序逐一地执行case语句,这就起不到控制的作用。关于break语句,将在2.4.5节中进行介绍。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。