有时候需要我们用Scanner接收char类型数据,而不是接收String。比如,当我们要用到switch()语句时,就不能用String类型了。
switch语句:
switch关键字的中文意思是开关、转换的意思,switch语句在条件语句中特别适合做一组变量相等的判断,在结构上比if语句要清晰很多。
switch语句的语法格式为:
switch(表达式){
case 值1:
功能代码1;
[break;]
case 值2:
功能代码2;
[break;]
……
default:
功能代码1;
[break;]
}
语法说明:
1、 表达式的类型只能为byte、short、char和int这4种之一。
2、 值1、值2…值n只能为常数或常量,不能为变量。
3、 功能代码部分可以写任意多句。
4、 break关键字的意思是中断,指结束switch语句,break语句为可选。
5、 case语句可以有任意多句,是标号语句。
6、 default语句可以写在switch语句中的任意位置,功能类似于if语句中的else.执行流程:当表达式的值和对应case语句后的值相同时,既从该位置开始向下执行,一直执行到switch语句的结束,在执行中,如果遇到break语句,则结束switch语句的执行。
正常使用Scanner时,可以这样:
//导包
import java.util.Scanner;
public class TextScanner{
public static void main(String [] args){
//创建Scanner对象 接受从控制台输入
Scanner input = new Scanner(System.in);
System.out.println("请输入名字:");
//接受String型
String name = input.next();
System.out.println("请输入学号");
//接受int型
int id = input.nextInt();//什么类型next后面就接什么 注意大小写
//输出结果
System.out.println("名字为:"+name+"\t学号为:"+id);
}
}
当用switch接收数据时,可以这样:
Scanner s=new Scanner(System.in);
char b =s.next().charAt(0);
System.out.println(b);
然后就可以用switch了。