本帖最后由 刘文超 于 2013-1-3 11:54 编辑
lz你好,我们又见面了、 在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。
但是我们可以将long型显示转换为int的,如截图中switch((int) l);
敬上代码一段,截图一张:- package org.qyx.online;
- public class TestSwitch {
- /**
- * @category switch语句能否作用在byte上,能否作用在long上?
- * @author 刘文超
- */
- public static void main(String[] args) {
- String name="";
- byte b=1;
- switch(b){
- case 1:
- System.out.println("byte");
- break;
- }
-
- short s=1;
- switch(s){
- case 1:
- System.out.println("short");
- break;
- }
-
- long l=1;
- switch((int)l){
- case 1:
- System.out.println("long");
- break;
- }
-
- switch(l){
- case 1:
- System.out.println("long");
- break;
- }
- }
- }
复制代码 |
|