在java中输入有二种方式:
1:用BufferedReader
BufferedReader br = new BufferedReader(new Inputstream(System.in));
BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
创建了一个BufferedReader对象, 名字是br , 然后new, 传入了一个InputStream对象.因为使用了BufferedReader的构造方法,
BufferedReader是缓冲流, INputStream是字节流
可以想象成一个水管, 在INputStream外面包了一层, 以供读取方便, 就简单理解成, InputStream这个水管一下只能有一滴水从这里通过, 而BufferedReader套在这个水管上, 就可以一下读一串水流
system.in 是放到标准的键盘设备上
2:用Scanner
Scanner input = new Scanner(System.in);
String str = input.nextLine();//还可以用别的方法来获取,int,char,double
System.in 和使用Bufferedreader一样。
我想请问一下,这二个有什么区别,在什么样的情况下,用什么样的输入方式好呢? |