点击河山之家免费订阅,每天都有新内容?
2.2、switch多分支语句
在编程中一个常见的问题就是检测一个变量是否符合某个条件,如果不符合,再用另一个值来检测,以此类推。当然,这种if语句问题使用if条件语句可以完成。
例1:使用if语句检测变量是否符合某个条件,关键代码如下:
if(grade == "A"){
}
if(grade == "b"){
}
这个程序显得比较笨重,程序员需要测试不同的值来给出输出语句。在Java中,可以用switch语句将动作组织起来,以一个简单明了的方法来实现“多选一”的选择。
语法如下:
switch(表达式)
{
case 常量值1;
语句块1
[break;]
…
case 常量值n;
语句块n
[break;]
default;
语句块n+1;
[break;]
}
switch语句中表达式的值必须是整型、字符型或字符串类型,常量值1~n必须也是整型、字符型或字符串类型。switch语句首先计算表达式的值,如果表达式的值和某个case后面的变量相同,则执行该case语句的若干语句直到遇到break语句为止。此时如果给case语句中没有break语句,将继续执行后面的case中的若干语句,直到语句break语句为止。若没有一个变量的值与表达式的值相同时,则执行default后面的语句。default语句为可选的,如果它不存在,且switch语句中表达式的值不与任何case的常量值相同,switch则不做任何处理。
说明:
在JDK1.6及以前的版本中,switch语句中表达式的值必须是整型或字符型,常量值1~n必须也是整型或字符型,但是在JDK 1.7中,switch语句的表达式的值除了是整型或字符型,还可以是字符串类型,这是在JDK 1.7中新添的特性。
例2:要通过switch语句根据字符串str的值,输出不同的提示信息可以使用下面的代码。
String str = "河山之家";
switch(str){
case"河山"; //定义case语句中的常量1
System.out.println("河山之家 www.heshanzj.com"); // 输出信息
break;
case"河山之家"; //定义case语句中的常量2
System.out.println("甘肃省河山之家科技有限公司"); // 输出信息
break;
default; //default语句
System.out.println("以上条件都不是"); //输出信息
}
注意:
同一个switch语句,case的常量值必须互不相同。
例3:在记事本中创建类Getswitch,在主方法中应用switch语句将周一到周三的英文单词打印出来。
public class GetSwitch{ //常建类
public static void main(String[] args){ //主方法
int week = 2; //定义int型变量week
switch(week){ //指定switch语句的表达式为变量week
case 1: //定义case语句中的常量1
System.out.println("Monday"); //输出信息
break;
case 2: //定义case语句中的常量2
System.out.println("Tuesday"); //输出信息
break;
case 3: //定义case语句中的常量3
System.out.println("Wednesday"); //输出信息
break;
default: //default语句
break;
}
}
}
运行结果如下图所示:
注意:
在switch语句中,case语句后常量表达式的值可以为整数,但绝不可以是实数。例如:下面代码就是不合法的;
case 1.1;
---------------------------------------------------------
领取专属 10元无门槛券
私享最新 技术干货