首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

学习Java流程控制“switch多分支语句”的方法技巧整理?

点击河山之家免费订阅,每天都有新内容?

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;

---------------------------------------------------------

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180126A01PNQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券