java类的编程_跟我学java编程—Java的Scanner类

本文详细介绍了Java中Scanner类的使用,包括如何初始化Scanner对象以及使用next和nextLine方法获取用户输入。通过示例代码展示了两种方法的区别,nextLine返回包括空格的所有字符,而next则过滤掉空格。讲解了Scanner简化文本输入的过程,并提供了一个程序实例来演示这两种方法的差异。
摘要由CSDN通过智能技术生成

当程序需要从键盘获取用户输入的命令或数据时,例如:获取用户输入的计算表达式。可以通过Scanner类方便地获取用户输入。

通过Scanner类获取用户输入时,控制台会一直等待用户的输入,直到用户敲回车键结束,把所输入的内容传给Scanner,程序要从Scanner获取输入的内容,则只需要调用Scanner的nextLine()方法即可。

Scanner类的初始化

声明一个scanner变量,并用new运算符实例化Scanner,实例化Scanner时,需要传入System.in对象,Scanner通过传入的System.in获取用户输入,并对用户输入的字符进行处理,屏蔽了获取用户输入的复杂操作。

Scanner scanner = new Scanner(System.in);

示例1:Scanner类的初始化

在D盘Java目录下,新建“ScannerInitSample.java”文件。用记事本打开“ScannerInitSample.java”文件,输入以下代码:

12b4aeaec96bbffde26516b934b886cc.png

代码结构分析

程序功能主要是演示Scanner如何声明及初始化。

语句“import java.util.*;”,用于导入包含Scanner的类库,Scanner包含在Java 核心类库util中,要使用Scanner类,必须导入java.util库,类库导入关键字为import。

编译“ScannerInitSample.java”文件,在命令行窗口输入“javac ScannerInitSample.java”并执行命令,编译通过后,在命令行窗口输入“java ScannerInitSample”运行Java程序,命令行窗口显示如下信息:

00357027fcc0814d082096f8de64b574.png图 5-12 Scanner初始化执行结果

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() ;

示例2:Scanner类的输入操作

在D盘Java目录下,新建“ScannerInputSample.java”文件。用记事本打开“ScannerInputSample.java”文件,输入以下代码:

2aec6055bb0e4a226c1a13cf6e2b5e2d.png

代码结构分析

程序功能主要是演示Scanner的next和nextLine输入方法的区别。

语句“import java.util.*;”,用于导入包含Scanner的类库,Scanner包含在Java 核心类库util中,要使用Scanner类,必须导入java.util库,类库导入关键字为import。

语句“String tempValue = sc.nextLine();”,通过nextLine方法获取用户输入,用户按下回车键(Enter),nextLine返回按下回车键前所有输入的字符。

语句“tempValue = sc.next();”,通过next方法获取用户输入,用户按下回车键(Enter),next返回过滤空格后的字符串。

编译“ScannerInputSample.java”文件,在命令行窗口输入“javac ScannerInputSample.java”并执行命令,编译通过后,在命令行窗口输入“java ScannerInputSample”运行Java程序,命令行窗口显示如下信息:

1ef0c41ce51ae10a59b40d74964057ed.png图 5-13 Scanner类的输入操作执行结果

从上述结果可以看出,nextLine返回按下回车键前输入的所有字符,包括空格;next则返回过滤掉空格后的字符串。

73640f72de1bd2daadd766ed5847c1c1.png

Scanner仅是简化了文本的输入,Scanner通过传入的InputStream从键盘获取用户输入的字符串,然后对字符进行相应处理并返回。

061d4cb26eeae9f4fd3570b1deae8305.png

编写一个程序,应用Scanner的next和nextLine方法获取用户输入的字符串,辨别两种输入方法的不同之处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值