<一> 、使用标准输入串System.in
system.in.read()方法的作用是从键盘读出一个字符,然后返回它的Unicode码。按下Enter结束输入
char c = 0; //必须初始化
try {
c = (char) System.in.read(); //录入的是Unicode码
} catch(IOException e){
e.printStackTrace();
}
System.out.println(c);
用System.in.read()时,我们在键盘上按下的任何一个键都会被当做是输入值,包括Enter键也会被当做是一个值!当我们按下Enter的时候,实际上发送两个键值:一个回车\t(13),一个是换行\n(10)
<二>、使用Scanner取得一个字符串或一组数字
通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,
作为扫描对象。如果要获取输入的内容,则只需要调用Scanner的nextLine()方法即可。
在新增一个Scanner对象时需要一个System.in对象,因为实际上还是System.in在取得用户输入。Scanner的next()方法用
以取得用户输入的字符串;nextInt()将取得的输入字符串转换为整数类型;同样,nextFloat()转换成浮点型;nextBoolean()
转换成布尔型。
Scanner scan = new Scanner(System.in);
String read = scan.nextLine();
System.out.println("输入数据:"+read);
<三>、使用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);