swtich 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?

switch(expr1)中,expr1 是一个整数表达式。因此传递给switch 和case语句的参数应该是int、short、char 或者byte。

在Java中,switch语句可以用于byte、short、int、char、枚举类型以及字符串(String)类型。但是,对于long类型,Java的switch语句是不支持的。

对于byte类型:
byte b = 1;
switch (b) {
    case 1:
        System.out.println("b is 1");
        break;
    default:
        System.out.println("b is not 1");
}

对于long类型:
long l = 1;
switch (l) { // 这会导致编译错误
    case 1:
        System.out.println("l is 1");
        break;
    default:
        System.out.println("l is not 1");
}

对于String类型:
String s = "hello";
switch (s) {
    case "hello":
        System.out.println("s is 'hello'");
        break;
    default:
        System.out.println("s is not 'hello'");
}


因此,switch语句可以用于byte、short、int、char、枚举以及字符串(String)类型,但不能用于long类型。

 

 

你可能感兴趣的:(java)