# 2021-12-05
1、用户交互Scanner
- 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。Java.util.Scanner是Java5的新特征,我们可以通过Scannery类来获取用户的输入。
- 基本语法:
Scanner s = new Scanner(System.in);
- 通过Scanner 类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
参考博文: https://blog.csdn.net/weixin_44540414/article/details/107541920
next()和nextLine():
- next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。简单地说,next()查找并返回来自此扫描器的下一个完整标记。完整标记的前后是与分隔模式匹配的输入信息,所以next方法不能得到带空格的字符串。
- 而nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
2、顺序结构
3、选择结构
- if 单选择结构
1 if(布尔表达式){ 2 3 }
- If 双选择结构
1 if(布尔表达式){ 2 //true 3 }else{ 4 //false 5 }
- if 多选择结构
1 if(布尔表达式1){ 2 //1true 3 }else if(布尔表达式2){ 4 //2true 5 }else{ 6 }
- 嵌套的 if 结构
if(布尔表达式1){ // if(布尔表达式2){ // } }
- switch 多选择结构
switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
1 switch(expression){ 2 case value: 3 //语句 4 break;//可选 5 case value: 6 //语句 7 break;//可选 8 ... 9 default://可选 10 //语句 11 }