Java程序中,我们经常要用到数据的输入与取出操作, 下面我们就进行对 输入数据方法的比较,区分使用System.in,Scanner和BufferedReader的程序,对各个方法进行输入数据和输出数据演示
一、使用标准输入串System.in
//System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字
//System.in.read()返回一个整数
//必须初始化 //
char read = '0';
System.out.println("输入数据:");
try {
read = (char) System.in.read();//进行读入
}
catch(Exception e) {
e.printStackTrace(); //抛出异常
}
System.out.println("输入数据:"+read); /输出数据
如下图所示,我们输入字符76,只能够读入7
System.out.print("输入数据:\n");
Scanner scan = new Scanner(System.in);
String read = scan.nextLine();
System.out.println("输入数据:"+read);
/*在新增一个Scanner对象时需要一个System.in对象,因为实际上还是System.in在取得用户输入。
Scanner的next()方法用以取得用户输入的字符串;
在使用scanner还需导入import java.util.Scanner;包;
其中scanner中其他类型数据的读取:
nextInt()将取得的输入字符串转换为整数类型;
nextFloat()转换成浮点型;
nextBoolean()转换成布尔型。*/
如下图所示:
由演示可以看,输入的是字符串
三、使用BufferedReader取得含空格的输入
//Scanner取得的输入以space, tab, enter 键为结束符,//要想取得包含space在内的输入,可以用java.io.BufferedReader类来实现,因此也需要导入这个包
//使用BufferedReader的readLine( )方法
//必须要处理java.io.IOException异常
BufferedReader br = new BufferedReader(new InputStreamReader(System.in ));
//java.io.InputStreamReader继承了Reader类,这个包也需导入
String read = null; //初始化
System.out.print("输入数据:");
try {
read = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("输入数据:"+read);
演示如下图所示:
有演示可以看出,图中能够输入空格。
以上就是Java中三种输入的对比,谢谢大家!