java怎么从控制台输入
java可以实现从控制台进行输入的方法有很多种,在开发中常用的是Scanner类,JDK1.5后引入了java.util.Scanner,使用它可以处理控制台不同数据类型的输入。System.in是标准的输入,我们在创建Scanner对象时需要一个System.in对象,使用它获取用户的输入。也可以通过字节来BufferedInputStream和字符流BufferedReader实现从控制台输入,同样也需要System.in对象。下面我们会介绍三种java从控制台获取输入的方法,跟着小编一起学习吧。
操作方法
- 01
首先我们创建一个Test类并编写main方法,在main方法中测试java的控制台输入。我们先介绍java.util.Scanner类,它可以处理控制台输入的不同数据类型的数据,我们通过new Scanner创建一个Scanner对象,控制台等待输入,输入完成后敲回车键即可,读取输入的内容,使用nextLine()方法即可。如下图所示,我们编写一个获取从控制台输入字符串的方法,可以通过循环不停的接收,直到达到设定的次数后跳出循环。
- 02
其他scan.next()和scan.nextLine()用于获取字符串类型的输入,另外我们还可以用scan.nextBoolean()用于获取布尔型的输入,scan.nextInt()用于获取数值型的输入,scan.nextLong()用于获取long类型的输入,如下图所示。
- 03
我们还可以单独使用System.in.read()读取一个字符或一个数字,有下图可知,尽管控制台输入的是一个字符串,但是实际上只能读取一个字符。在读取数字时,我们输入的数字是8,但实际上读取的是56,因为此时获取的是Unicode编码,使用try catch捕获编码过程中的异常。
- 04
接下来我们介绍通过字节流的方式读取控制台的输入,我们需要用到BufferedInputStream,首先创建一个BufferedInputStream对象用于接收控制台的输入,我们创建一个byte数组,长度为1024用于存储接收的字符串,使用read方法读取,最后使用new String(byte[])将byte数组转成字符串进行输出,代码中的异常需要处理,我们使用try catch捕获即可。
- 05
接着我们介绍使用字符流的方式获取控制台的输入,创建一个BufferedReader对象,InputStreamReader是字节到字符的缓存流,我们同样使用System.in来获取控制台的输入,readLine()方法用于读取输入的信息,如下图所示。