BufferedReader(new InputStreamReader(System.in));**
**System.in为打印流的一个实例化对象,InputStreamReader类的作用是将外部的字节数据转换为字符数据输入到程序内存当中。BufferedReader类的作用则是用于将缓冲当中的数据信息读取出来**
System.in 接受从控制台输入的字节
new InputStreamReader(System.in);构造一个InputStreamReader对象这个对象是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。
new BufferedReader(new InputStreamReader(System.in));构造一个字符流的缓存,里面存放在控制台输入的字节转换后成的字符。
str=buf.readLine();从这个缓存中读取一行的内容
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
整个这句话拆开来写为:
InputStream in = System.in ;
InputStreamReader isr = new InputStreamReader(in);
BufferedReader br = new BufferedReader(isr);
原文链接:https://blog.csdn.net/wuha0/article/details/7336048
由键盘输入数据,字符串-BufferedReader的用法
范例一:有键盘输入一串字符串,
import java.io.*;
public class bufferedreader
{
public static void main(String args[]) throws IOException
{
String mystring;
BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
System.out.println(“input a string”);
mystring=buf.readLine();
System.out.println(“string=”+mystring);
}
}
范例2:有键盘输入数据:
import java.io.*;
public class bufferedreader
{
public static void main(String args[]) throws IOException
{
String mystring;
int myint;
BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
System.out.println(“input an integer”);
mystring=buf.readLine();
//Integer.parseInt(String)就是将String字符类型数据转换为Integer整型数据
myint=Integer.parseInt(mystring);
System.out.println(“the integer is=”+myint);
}
}
范例3:由键盘输入两个整数,并且求和:
import java.io.*;
public class bufferedreader
{
public static void main(String args[]) throws IOException
{
String mystring1,mystring2;
int myint1,myint2;
BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));//定义一个BufferedReader就可以了。
System.out.println(“please input the first number”);
mystring1=buf.readLine();
myint1=Integer.parseInt(mystring1);
System.out.println(“please input the second number”);
mystring2=buf.readLine();
myint2=Integer.parseInt(mystring2);
System.out.println(myint1+"+"+myint2+"="+(myint1+myint2));
}
}