- Scanner类获取用户输入
- 基本语法
Scanner s=new Scanner(System.in);
- 通过Scanner的类next()与nextLine()方法获取输入的字符串。
- 在读取线需要用hasNext()与hasNextLine()判断是否还有输入的数据
- next():
- 一定需要读取到有效的字符串在结束输入(不输入,不停止)
- 有效字符之前的空白会自动去掉,[空白][空白]hello world 只会输出hello
- 只有输入有效字符后才将后面输入的空白当作结束符
- next()不能得到带有空格的字符串
- nextLine()
- 以enter作为结束符,可以输出全部字符
- 可以输出包括空白
举例:next只能接收部分数据
package com.yuan.Scanner;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
//创建一个扫描器对象,接收键盘数据
Scanner scanner = new Scanner(System.in); //这里是使用alt+enter自动补全
System.out.println("使用next方式接收");
// System.out.println("使用nextLine方式接收");
//判断用户有没有输入字符串
if (scanner.hasNext()){
//使用next方式接收
String str=scanner.next();
System.out.println("输出的内容为:"+str);
}
//凡是属于IO流的类如果不关闭就会一直占用资源,Scanner就数据IO流的类
//IO流就是与电脑有关输入输出之类
scanner.close();
}
}
举例:nextLine接收全部数据
package com.yuan.Scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("使用nextLine接收");
if(scanner.hasNextLine()){
String str=scanner.nextLine();
System.out.println("输出结果为: "+str);
}
scanner.close();
}
}
举例:Scanner小数和整数的接收
package com.yuan.Scanner;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
//接收输入数据
int i=0;
float f=0.0f;
System.out.println("请输入整数:");
if(scanner.hasNextInt()){
i=scanner.nextInt();
System.out.println("输入的整数为:"+i);
}else {
System.out.println("你输入的不是整数");
}
System.out.println("请输入小数:");
if(scanner.hasNextFloat()){
f=scanner.nextFloat();
System.out.println("输入的小数为:"+f);
}else {
System.out.println("输入的不是小数");
}
scanner.close();
}
}
举例:Scanner计算平均值
package com.yuan.Scanner;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
//计算多个数字的和,求其总和与平均数,每输入一个数字回车确认,输入非数字结束输入
System.out.println("请输入数字开始计算,其他符号结束计算");
Scanner scanner= new Scanner(System.in);
//先要准备好需要的变量
double sum=0;
int m=0;
while (scanner.hasNextFloat()){
double x= scanner.nextFloat();
m+=1;
sum=sum+x;
}
System.out.println("数字的和为:"+sum);
System.out.println("数字的平均数为:"+(sum/m));
scanner.close();
}
}
2. 顺序结构
- Java的基本结构就是顺序结构,除非特别指明,否则就是一句一句执行
- 从上往下执行
- if 选择结构
- if双选结构
- if多选结构(if()else())
- 嵌套if结构
- switch多选结构(等值选择)
举例:
package com.yuan.struct;
import java.util.Scanner;
public class Demo_Switch {
public static void main(String[] args) {
System.out.println("请输入成绩:");
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
switch (str) {
case "A":
System.out.println("优秀");
break;
case "B":
System.out.println("良好");
break;
case "C":
System.out.println("及格");
break;
case "D":
System.out.println("不及格");
break;
default:
System.out.println("输入有误!");
}
}
}
将class文件加入到idea文件中可以直接查看class的源码



