java.util.Scanner
用来接收从键盘输入的内容
next()
从键盘上获取输入的字符串,当用户按下回车后才会将键盘录入的内容读取到程序中
会按照 空格 对输入的内容进行分隔,每次只读取一部分,直到将所有内容读取完成后,才会再次读取键盘输入的内容
nextLine():按下回车后,读取输入的一行内容
nextInt():当按下回车后,从键盘读取数字,本质和 next()一样,如果内容不是数字,则会报错
Switch选项
是实现判断的另一种手段,更加适用枚举特性
Switch 穿透:当处理的值 满足某有一个case的时候,会默认执行当前case和后面所有的case
如果不希望Switch某一个case拥有穿透功能,可以在case分支中,添加一个break关键字,打断Switch穿透
//switch 传统写法
Scanner scan = new sacnner(System.in);
int month = scanner.nextInt();
int day = 0;
switch(month){
case 1 : day = 31;
case 2 : day = 28;
case 3 : day = 31;
case 4 : day = 30;
...
case 12 : day =31;
default : day =0;//像当于else
}
System.out.println(day);
//这段程序会直接输出最后 case 12: day 中的 31;
//程序需要用break;阻断
Scanner scan = new sacnner(System.in);
int month = scanner.nextInt();
int day = 0;
switch(month){
case 1 : day = 31;break;
case 2 : day = 28;break;
case 3 : day = 31;break;
case 4 : day = 30;break;
...
case 12 : day =31;break;
default : day =0;break;
}
System.out.println(day);
//还可以这样写 Switch 穿透
switch(month){
case 1 :
case 3 :
case 5 :
case 7 : day = 31;break;
...
case 4 :
case 6 :
case 9 :
case 11 : day =30;break;
default : day =28;break;
}
switch 可以处理的数据类型 包含
byte , short, int , char , enum
Byte, Short, Integer, Character,
Java7 版本对String类的支持
//Switch JDK14 新特性
int month =5;
int day =0;
switch (month) {
case 1 ,3,5,7,8,10,12 -> day = 31;
case 4,6,9,11 -> day = 30;
default -> day = 28;
}
System.out.println(day);
Switch分支语句如果有多行代码,需要用大括号包起来
int month =4;
int day =0;
int a=0;
switch (month) {
case 1 ,3,5,7,8,10,12 -> {
day = 31;
a++;
}
case 4,6,9,11 -> day = 30;
default -> day = 28;
}
System.out.println(day +"-"+a);
//将Switch作为表达式使用
//Switch作为表达式使用 必须提供default分支;
int month =4;
int day =0;
int a=0;
day = switch (month) {
case 1 ,3,5,7,8,10,12 -> 31;
case 4,6,9,11 -> 30;
default -> 28;
}; //switch作为语句使用 注意 加;
System.out.println(day +"-"+a);
//如果Switch表达分支的代码 不止一行,那么必须添加{}
int month =4;
int day =0;
int a=0;
day = switch (month) {
case 1 ,3,5,7,8,10,12 -> {
yield 31;//yield 必须的
}
case 4,6,9,11 -> 30;
default -> 28;
}; //switch作为语句使用 注意 加;
System.out.println(day +"-"+a);
- switch写语句
switch (sum/10){
case 9-> great = 1;
case 8->great = 2;
case 7->great = 3;
case 6->great = 4;
case 5->great = 5;
case 2,3,4-> {
if (sum<25){
great=7;
break;
}else {
great=6;
}
}
default->great = 7;
}