用户交互Scanner
用户交互Scanner
一 scanner对象的作用
能够实现程序和人的交互
二 scnner用法
1 用法
需要导包java.util.Scanner
import java.util.Scanner;
通过Scanner类来获取用户的输入
public class Demo01 {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
if (scanner.hasNext() == true){
String str = scanner.next();
System.out.println("输入的内容为: " + str);
}
scanner.close();
}
}
用完scanner 要关闭,节省资源。
scanner.close();
使用hasNext()方式 与 hasNextLine() 方式 来判断是否还有输入的数据
2 next()方式 与 nextLine() 方式 接收键盘输入的数据的区别
2.1 next() :
- 一定读取到有效字符后才能结束
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
- 空格之前的有效字符能得到,空格之后的断开
- 不能得到带有空格的字符串. 输入hello world 只能得到hello得到(以空白为结束符。)
2.2 nextLine(): 用的多
- 以Enter为结束符
- 返回的是输入回车之前所有的字符 输入hello world 得到hello world
- 可以获得空白
3 scanner拓展
import java.util.Scanner;
public class Demo04 {
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() == true) {
i = scanner.nextInt();
System.out.println("输入的整数数据为:" + i);
}else{
System.out.println("您输入的数据不是整数数据!");
}
System.out.println("请输入小数数据:");
if (scanner.hasNextFloat() == true){
f = scanner.nextFloat();
System.out.println("输入的小数数据为:" + f);
}else{
System.out.println("您输入的数据不是小数数据!");
}
scanner.close();
System.out.println("Hello World !");
}
}
三 注意点:
用完scanner 要关闭,节省资源。
凡是属于IO流的类 如果不关闭会一直占用资源,要养成好习惯用完就关掉。例如scanner
scanner.close();
四 代码演示
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方式接收:");
//判断用户有没有输入字符串
//用 scanner.hasNext() 或者 scanner.hasNextLine() 判断是否还有输入的数据
if (scanner.hasNext() == true){ //默认是true 可以不写 == true 如果还有下一行则执行大括号里的内容
//用 str 通过 scanner.next()方式 接受用户的输入的字符串 /或者scanner.nextLine()
String str = scanner.next();
System.out.println("输入的内容为: " + str);
}
//用完scanner 要关闭,节省资源。
//凡是属于IO流的类 如果不关闭会一直占用资源,要养成好习惯用完就关掉。例如scanner
scanner.close();
System.out.println("Hello World !");
}
}
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args){
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收:" );
//使用scanner.hasNextLine()方法 判断是否还有输入的数据
if(scanner.hasNextLine() == true){
//创建一个str对象 通过scanner.nextLine()方式来接受用户输入的字符串
String str = scanner.nextLine();
System.out.println("输入的内容为:" + str);
}
//关闭
scanner.close();
System.out.println("Hello World !");
}
}