一、Scanner类
当程序需要从键盘获取用户输入的命令或数据时,例如:获取用户输入的计算表达式。可以通过Scanner类方便地获取用户输入。
通过Scanner类获取用户输入时,控制台会一直等待用户的输入,直到用户敲回车键结束,把所输入的内容传给Scanner,程序要从Scanner获取输入的内容,则只需要调用Scanner的nextLine()方法即可。
1、Scanner类的初始化
声明一个scanner变量,并用new运算符实例化Scanner,实例化Scanner时,需要传入System.in对象,Scanner通过传入的System.in获取用户输入,并对用户输入的字符进行处理,屏蔽了获取用户输入的复杂操作。
Scanner scanner = new Scanner(System.in);
2、导入
语句“import java.util.*;”,用于导入包含Scanner的类库,Scanner包含在Java 核心类库util中,要使用Scanner类,必须导入java.util库,类库导入关键字为import。
二、Scanner类的方法
Scanner类提供了多个方法,用于完成字符串的输入。下面列举了几个主要的操作方法,其它方法请参考Java API:
1、方法名称:next()
方法说明:返回由输入设备输入的有效字符,返回类型为字符串。该方法一定要读取到有效字符后才能返回。
方法示例:
Scanner sc = new Scanner(System.in);
String szWelcome = sc.next();
2、方法名称:nextLine()
方法说明:返回由输入设备输入的字符串,返回类型为字符串。该方法以用户按下回车键(Enter)结束当前输入。
方法示例:
Scanner sc = new Scanner(System.in);
String szWelcome = sc. nextLine() ;
3、Scanner的next和nextLine输入方法的区别
(1)语句“String tempValue = sc.nextLine();”,通过nextLine方法获取用户输入,用户按下回车键(Enter),nextLine返回按下回车键前所有输入的字符。
(2)语句“tempValue = sc.next();”,通过next方法获取用户输入,用户按下回车键(Enter),next返回过滤空格后的字符串。
编译“ScannerInputSample.java”文件,在命令行窗口输入“javac ScannerInputSample.java”并执行命令,编译通过后,在命令行窗口输入“java ScannerInputSample”运行Java程序,命令行窗口显示如下信息:
图 5-13 Scanner类的输入操作执行结果
从上述结果可以看出,nextLine返回按下回车键前输入的所有字符,包括空格;next则返回过滤掉空格后的字符串。
转载 https://baijiahao.baidu.com/s?id=1589567232450969022&wfr=spider&for=pc
4、sc.close();