面试题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
2018-01-15 15:15
507 查看
/**
* 问题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上
* 基本类型的包装类(如:Character、Byte、Short、Integer)
*
* switch可作用于char byte short int
* switch可作用于char byte short int对应的包装类
* switch不可作用于long double float boolean,包括他们的包装类
* switch中可以是字符串类型,String(jdk1.7之后才可以作用在string上)
* switch中可以是枚举类型
*/
switch可作用于char byte short int
switch可作用于char byte short int对应的包装类
switch不可作用于long double float boolean,包括他们的包装类,源代码示例:
[java] view
plain copy
package java基础题目;
public class Test5 {
public static void main(String[] args) {
// switch可作用于char byte short int
char season1 = 3;
byte season2 = 3;
short season3 = 3;
int season4 = 3;
// switch可作用于char byte short int对应的包装类
Character season11 = 3;
Byte season22 = 3;
Short season33 = 3;
Integer season44 = 3;
// 下面的基本类型的包装类就不行了,还有double float的包装类
// Long season = 0;
// switch不可作用于long double float boolean,包括他们的包装类
long season5 = 3;
double season6 = 3;
float season7 = 3f;
boolean season8 = false;
//......
String strSeason = "";
switch (season1) {
case 1:
strSeason = "Spring";
break;
case 2:
strSeason = "Summer";
break;
case 3:
strSeason = "Fall";
break;
case 4:
strSeason = "Winter";
break;
default:
strSeason = "四季中没有这个季节";
break;
}
System.out.println("strSeason:" + strSeason);
}
}
switch中可以是字符串类型,String(jdk1.7之后才可以作用在string上),源代码示例:
[java] view
plain copy
package java基础题目;
/*
* switch中可以是字符串类型
*String(jdk1.7之后才可以作用在string上)
*/
public class Test6 {
public static void main(String[] args) {
int season = 0;
String strSeason = "Summer";
switch (strSeason.toLowerCase()) {
case "spring":
season = 1;
break;
case "summer":
season = 2;
break;
case "fall":
season = 3;
break;
case "winter":
season = 4;
break;
default:
season = -1;// 没找到对应的季节
break;
}
System.out.println(strSeason + "-->" + season);
}
}
switch中可以是1.5枚举类型,源代码示例:
[java] view
plain copy
package java基础题目;
/*
* switch中可以是1.5枚举类型
*/
//枚举三个量
enum Signal{
GREEN,YELLOW,RED;
}
public class Test7 {
public static void main(String[] args) {
Signal color = Signal.RED;
switch (color) {
case RED:
color = Signal.YELLOW;
break;
case YELLOW:
color = Signal.RED;
case GREEN:
color = Signal.YELLOW;
default:
System.out.println("什么鬼灯");
break;
}
System.out.println("color:"+color);
}
}
* 问题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上
* 基本类型的包装类(如:Character、Byte、Short、Integer)
*
* switch可作用于char byte short int
* switch可作用于char byte short int对应的包装类
* switch不可作用于long double float boolean,包括他们的包装类
* switch中可以是字符串类型,String(jdk1.7之后才可以作用在string上)
* switch中可以是枚举类型
*/
switch可作用于char byte short int
switch可作用于char byte short int对应的包装类
switch不可作用于long double float boolean,包括他们的包装类,源代码示例:
[java] view
plain copy
package java基础题目;
public class Test5 {
public static void main(String[] args) {
// switch可作用于char byte short int
char season1 = 3;
byte season2 = 3;
short season3 = 3;
int season4 = 3;
// switch可作用于char byte short int对应的包装类
Character season11 = 3;
Byte season22 = 3;
Short season33 = 3;
Integer season44 = 3;
// 下面的基本类型的包装类就不行了,还有double float的包装类
// Long season = 0;
// switch不可作用于long double float boolean,包括他们的包装类
long season5 = 3;
double season6 = 3;
float season7 = 3f;
boolean season8 = false;
//......
String strSeason = "";
switch (season1) {
case 1:
strSeason = "Spring";
break;
case 2:
strSeason = "Summer";
break;
case 3:
strSeason = "Fall";
break;
case 4:
strSeason = "Winter";
break;
default:
strSeason = "四季中没有这个季节";
break;
}
System.out.println("strSeason:" + strSeason);
}
}
switch中可以是字符串类型,String(jdk1.7之后才可以作用在string上),源代码示例:
[java] view
plain copy
package java基础题目;
/*
* switch中可以是字符串类型
*String(jdk1.7之后才可以作用在string上)
*/
public class Test6 {
public static void main(String[] args) {
int season = 0;
String strSeason = "Summer";
switch (strSeason.toLowerCase()) {
case "spring":
season = 1;
break;
case "summer":
season = 2;
break;
case "fall":
season = 3;
break;
case "winter":
season = 4;
break;
default:
season = -1;// 没找到对应的季节
break;
}
System.out.println(strSeason + "-->" + season);
}
}
switch中可以是1.5枚举类型,源代码示例:
[java] view
plain copy
package java基础题目;
/*
* switch中可以是1.5枚举类型
*/
//枚举三个量
enum Signal{
GREEN,YELLOW,RED;
}
public class Test7 {
public static void main(String[] args) {
Signal color = Signal.RED;
switch (color) {
case RED:
color = Signal.YELLOW;
break;
case YELLOW:
color = Signal.RED;
case GREEN:
color = Signal.YELLOW;
default:
System.out.println("什么鬼灯");
break;
}
System.out.println("color:"+color);
}
}
相关文章推荐
- java面试题:switch语句能否作用byte上,能否作用于long,能否作用于string上?
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上?——Java经典面试题系列
- 面试题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
- 005.Java中switch语句能否作用在byte上,Long呢? String呢?
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
- switch 语句能否作用在 byte 上,能否作用在 long 上,能否作用在 String 上?
- switch语句能否作用在 byte 上,能否作用在 long 上,能否作用在 String 上?
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上
- 【JAVA基础小问题】switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
- switch能否作用在byte、long、String上?