java中switch语句的用法
来源:互联网 发布:cv用录音软件 编辑:程序博客网 时间:2024/06/05 20:12
首先介绍一下switch语句的格式:
switch(需要判断的表达式){
case 常量1:
break;
case 常量2:
break;
…….
case 常量n:
break;
default:
}
1,需要判断的表达式
可能听的比较多的是:只能是整形或字符型。
但switch中需要判断的表达式的类型,其实不只是整形或字符型。
注意:switch中需要判断的表达式的类型 可以是int, short ,byte,char,String,枚举。
由于byte,short,char都可以隐式转换为int型,所以这些类型及其包装类型也是可以的。switch string的支持从JDK1.7版本开始,是背后做了一个转换,用哈希码进行比较,而哈希码是整形的值。
注意:switch语句无法作用在float,double,long以及他们的包装类型上。编译时会提示出错。
下面以String和int的包装类Integer为例:
public class J_02 { public static void main(String[] args) { /* //byte数据范围 byte b; b=(byte)(300); System.out.println(b);//44 */ double a=1,b=2,jg=0; String c="+"; switch(c) { case "+" : jg=a+b; break; case "-" : jg=a-b; break; case "*" : jg=a*b; break; case "/" : jg=a/b; break; } System.out.println("jg1:"+jg); Integer i=new Integer(5); switch(i) { case 1: jg=a+b; break; case 2: jg=a-b; break; case 3: jg=a*b; break; case 4: jg=a/b; break; default:jg=i; } System.out.println("jg2:"+jg); }}
运行结果:
2,default不是必须的,可写可不写,位置随意,根据个人需要而定。如果放在case语句之前记得加上break ,否则会继续执行default语句之后的语句,不管case的条件是否满足,都会执行,因为他会把这个条件当成之前满足的那个条件中的内容,所以直到遇到break才会退出,终止这个条件。
例如:
double a=1,b=2,jg=0;Integer i=new Integer(5); switch(i) { default:jg=i; case 1: jg=a+b; break; case 2: jg=a-b; break; case 3: jg=a*b; break; case 4: jg=a/b; break; } System.out.println("jg2:"+jg);
则会向下执行:jg=a+b;遇到break后跳出switch语句。
3,case后必须要跟常量!常量即不能改变的量。如:字符,字符串,数字。
也可以是用final修饰的变量,因为用final修饰后就不能再改变啦!
例如:
final int f=5; Integer i=new Integer(5); switch(i) { default:jg=i; case 1: jg=a+b; break; case 2: jg=a-b; break; case 3: jg=a*b; break; case 4: jg=a/b; break; case f: jg=f; break; }
注意case后所跟的常量类型要和表达式的结果类型一致。
4,break。不加break会执行switch语句中当前语句之后的语句,直到遇到break或所有条件都不满足之后跳出switch语句。
思考题:
以下代码运行时得到什么打印结果?
int i = 4;
switch (i) {
default:
System.out.println(“default”);
case 0:
System.out.println(“zero”);
break;
case 1:
System.out.println(“one”);
case 2:
System.out.println(“two”);
}
//default
Zero
- Java中Switch Case语句的用法
- java中switch语句的用法
- java中switch语句用法详解
- java switch语句用法
- PHP中Switch语句的用法
- switch语句的用法
- Java中switch语句
- python中switch语句用法
- Java switch-case语句用法
- Java switch-case语句用法
- Java switch-case语句用法
- Java switch-case语句用法
- java中,switch语句的陷阱
- 关于java中switch语句的问题
- java中关于switch语句的知识
- java中switch语句的测试
- java中,switch语句的陷阱
- Java中switch语句支持的类型
- pandas处理各种表格数据
- C-NOIP1998P3 二的幂次方
- bzoj1095[ZJOI2007]捉迷藏
- 网页加载进度条--6种
- 数据加载存储和文件格式
- java中switch语句的用法
- 数据规整化:清理、转换、合并、重塑
- POJ刷题列表——正在进行
- 运用numpy进行数组、向量、矩阵运算
- 如何读取CSV文件,格式化数据,统计生日出现的次数
- windows下安装scikit_learn
- CS Hard Interval Expected Max 莫队(期望,计数)
- python yield与递归
- PRML 公式 9.21