一.用户交互Scanner
java.util.Scanner 导入的Scanner类
可以通过Scanner类来获取用户的输入
基本语法
Scanner sc=new Scanner(System.in);
//创建一个扫描器对象,用于接收键盘数据
通过Scanner类的next() 与 nextLint() 方法获取输入的字符串
① next():
1.读取到有效字符后结束输入
2.输入有效字符后,以空白作为分隔符或者结束符
3. next()不能得到带有空格的字符串
运行结果:
② nextLine():
1.以回车Enter为结束符,返回输入回车之前的所有字符
2.可以获得空白。
运行结果
Scanner进阶使用
1
2
二.顺序结构
三.选择结构
1. if单选择语句语法
if(布尔表达式){
如果布尔表达式的值为true
}
Scanner sc=new Scanner(System.in);
System.out.println("请输入内容:");
String s=sc.nextLine();
/*
if(布尔表达式){
如果布尔表达式的值为true
}
*/
//equals:判断字符串是否相等
if(s.equals("Hello")){
System.out.println(s);
}
System.out.println("End");
sc.close();//关闭IO流
2.if双选择结构语法
if(布尔表达式){
如果布尔表达式的值为true
}else{
如果布尔表达式的值为false
}
Scanner sc=new Scanner(System.in);
System.out.println("请输入内容:");
String s=sc.nextLine();
/*
if(布尔表达式){
如果布尔表达式的值为true
}
*/
//equals:判断字符串是否相等
if(s.equals("Hello")){
System.out.println(s);
}
System.out.println("End");
sc.close();//关闭IO流
Scanner sc=new Scanner(System.in);
System.out.println("请输入:");
int x=sc.nextInt();
if (x % 2 == 0){
System.out.println("偶数");
}else{
System.out.println("奇数");
}
3.if多选择结构
if(布尔表达式 1){
如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
如果布尔表达式 3的值为true执行代码
}else{
如果以上布尔表达式都不为true执行代码
}
Scanner sc=new Scanner(System.in);
System.out.println("请输入成绩:");
int score =sc.nextInt();
if(score==100){
System.out.println("恭喜满分");
}else if(score<100 && score>=90){
System.out.println("A级");
}else if(score<90 && score>=80){
System.out.println("B级");
}else if(score<80 && score>=70){
System.out.println("C级");
}else if(score<70 && score>=60){
System.out.println("D级");
}else if(score<60 && score>=0){
System.out.println("不及格");
}else{
System.out.println("成绩不合法");
}
Scanner sc=new Scanner(System.in);
System.out.println("请输入数字:");
int y=sc.nextInt();
if (y == 1) {
System.out.println("星期一");
}else if (y == 2) {
System.out.println("星期二");
}else if (y == 3) {
System.out.println("星期三");
}else{
System.out.println("不知道星期几");
}
4.嵌套的if结构
嵌套语句:if或else if里面嵌套一个if或else if
if(布尔表达式 1){
如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
如果布尔表达式 2的值为true执行代码
}
}
int x = 4;
int y = 4;
if (x > 2) { //x=4,执行if的分支
if (y > 2) { //判断y是否大于2,如果是就执行if分支
System.out.println(x + y);
}
} else{
System.out.println("x is " + x);
}
5.switch多选择结构
//case穿透,,,switch匹配一个具体的值
switch(expression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
default://可选
//语句
}
①switch语句中的变量类型可以是:byte、short、int、char、String
②同时case子句中的值必须为字符串常量或字面量,且所有case子句中的值是不相同的
③default子句是可任选的,当没有匹配的case时,执行default
④break语句是用来执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾
当没有加break的时候,程序会顺序执行到switch结尾
有加break语句,执行完就直接跳出switch循环
char x='B';
switch(x){
case 'A':
System.out.println(x +"优秀");
break;
case 'B':
System.out.println(x +"良好");
break;
case 'C':
System.out.println(x +"及格");
break;
case 'D':
System.out.println(x +"再接再厉");
break;
case 'E':
System.out.println(x +"挂科");
break;
default:
System.out.println(x +"未知等级");
break;
}