Scanner对象
Scanner对象
java.util.Scanner
通过Scanner类来获取用户的输入
使用hasNext()方式 与 hasNextLine() 方式 来判断是否还有输入的数据
使用next()方式 与 nextLine() 方式 接收键盘输入的数据的区别
next() :
- 一定读取到有效字符后才能结束
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
- 空格之前的有效字符能得到,空格之后的断开
- 不能得到带有空格的字符串. 输入hello world 只能得到hello得到(以空白为结束符。)
nextLine(): 用的多
- 以Enter为结束符
- 返回的是输入回车之前所有的字符 输入hello world 得到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 !");
}
}