Scanner类简介
Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法。这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器。
Scanner类是用于键盘输入,在使用的时候需要导入java.util.Scanner包。以下列举常用的几种键盘输入的方法:
方法 | 描述 |
nextBoolean() | 将输入的下一个标记扫描为布尔值,并返回该值 |
nextByte() | 将输入的下一个标记扫描为byte |
nextDouble() | 将输入的下一个标记扫描为double |
nextFloat | 将输入的下一个标记扫描为float |
nextInt() | 将输入的下一个标记扫描为int |
nextLine() | 将此扫描仪推进到当前行并返回跳过的输入 |
nextLong() | 将输入的下一个标记扫描为long |
nextShort() | 将输入的下一个标记扫描为short |
next() | 查找并返回此扫描仪的下一个完整令牌 |
其中,next()和nextLine()的返回值都是string类型。两者在使用的时候会存在一下缺点:
nextLine()的缺点:
1)nextLine()方法前面不能出现其他的键盘输入方法
2)nextLine()方法前面可以有一个nextLine()方法
next()的缺点:
不能接受空格和回车
延伸阅读:https://blog.youkuaiyun.com/basycia/article/details/51112278