Scanner对象
java.util.Scanner是Java5的型特性,我们可以通过Scannner类获取用户输入的信息。
基本语法:Scanner scanner = new Scanner(System.in);
通过Scanner中的next(),nextLine()方法获取用户输入的字符串。在读取之前,我们一般是用hasNext()和hasNextLine()来判断是否还有输入。
获取输入的方法:
next()方法
next()方法一般和hasNext()方法搭配使用,hasNext()方法用于判断是否存在输入,用next()方法接受输入的信息,为String类型。
特点:
- 一定要读取有效字符才会结束
- 对输入前遇到的空白,next()方法会把空白去掉
- 在输入有效字符后的空白,作为分隔符或者结束符
- next()方法不能直接得到带有空格的字符串
nextLine()方法
nextLine()方法一般和hasNxetLine()方法搭配使用,hasNextLine()方法用于判断是否存在下一行,nextLine()方法用于接收输入的信息,为String类型。
特点:
- 以enter作为结束符,可以接收enter(回车)以前的全部字符。
- 可以接收空白。
注意:io流(输入输出流),在使用后必须使用colse()方法关掉,不然会一直占用习通资源造成计算机卡顿。
测试代码
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
System.out.println("请输入你想要输入的值:");
Scanner scanner = new Scanner(System.in);
//使用hasNext()和next()方法,只会读取第一段字符串
// if(scanner.hasNext()){
// String str = scanner.next();
// System.out.println("输入的内容为:"+str);
// }
//使用hasNextLine()和nextLine()方法,可以获取所输入的所有字符串。
if(scanner.hasNextLine()){ //判断是否存在下一行
String s = scanner.nextLine(); //快速获取返回值的快捷键:ctrl+alt+v
System.out.println("输入的内容为:"+str);
}
//io流使用后要及时关掉,不然会一直占用计算机的资源,造成计算机卡顿。使用close();方法关掉。
scanner.close();
}
}