switch语句中case后面可不可以加字符串?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了switch语句中case后面可不可以加字符串?相关的知识,希望对你有一定的参考价值。
参考技术A c/c++ 语言 不允许。\\x0d\\x0ac/c++ 语言 case后面 只允许是 整型 常量 表达式,例如:\\x0d\\x0aint k=3;\\x0d\\x0aswitch(k)\\x0d\\x0acase \'d\'-\'a\': printf("d-a\n");break;\\x0d\\x0acase 4 : printf("4\n"); break;\\x0d\\x0acase \'Z\' : printf("Z\n"); break; //单引号括起的是字符常量,是整型。\\x0d\\x0a\\x0d\\x0a上面 用的 都是 整型 常量 表达式, 所以正确。\\x0d\\x0a字符串常量,例如:双引号括起的 "Z", 虽然是常量, 但它们不是 整型,所以不允许。\\x0d\\x0a其它语言,要看它们自己的规定。Java switch case语句
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch(expression)//变量类型可以是byte,short,int,char,String case value://case标签后面必须是字符串常量或字面量 //代码语句,当case的值和变量的值相等时,会执行case里面的代码语句,直到break时跳出switch语句 break;//遇到break,switch语句终止,case语句不是必要跟着break,没有break出现,程序会执行下一跳,直到break出现 case calue: //代码语句 break; //可以有很多个case语句,每个case语句后面跟着要比较的值和冒号 default://switch语句包含一个default,一般放在最后,在没有case值和变量值相等的时候执行,不需要break //代码语句
switch case执行时,一定会先进行匹配,匹配成功返回单签case的值,在根据是否有break判断是否跳出。
①
public class Test public static void main(String args[]) char grade = ‘B‘; switch(grade) case ‘A‘: System.out.println("优秀"); break; case ‘B‘: System.out.println("良好"); break; case ‘C‘: System.out.println("及格"); break; default: System.out.println("不及格"); System.out.println("成绩为:"+grade);
运行结果
良好
成绩为:良好
②如果grade为其他除了ABC以外的字符,会运行default的代码,输出结果为
public class Test public static void main(String args[]) char grade = ‘J‘; switch(grade) case ‘A‘: System.out.println("优秀"); break; case ‘B‘: System.out.println("良好"); break; case ‘C‘: System.out.println("及格"); break; default: System.out.println("不及格"); System.out.println("成绩为:"+grade);
不及格
成绩为:不及格
③如果存在case没有break,那么在匹配的case之后的没有break的语句都会执行,一直到遇到break
public class Test public static void main(String args[]) int i=1; switch(grade) case 0: System.out.println("0"); case 1: System.out.println("1"); case 2: System.out.println("2"); break; default: System.out.println("3");
1 2
以上是关于switch语句中case后面可不可以加字符串?的主要内容,如果未能解决你的问题,请参考以下文章