Java随手记02 Scanner与BufferedReader浅析

Scanner类BufferedReader类的引申讨论

* A: Scanner类的使用
	* a: 导包import java.util.Scanner;
	* b:创建键盘录入对象 Scanner sc = new Scanner(System.in);
	* c: 读取键盘录入的一个整数
		* int enterNumber = sc.nextInt();
	* d: 读取键盘录入的字符串
		* String enterString = sc.next();
* B: 案例代码
	import java.util.Scanner;
	public class Demo05Scanner{
		public static void main(String[] args) 
		{
			Scanner sc = new Scanner(System.in);

			int enterNumber = sc.nextInt();
			System.out.println("用户输入的整数为"+enterNumber);

			String enterString = sc.next();
			System.out.println("用户输入的字符串为"+enterString);
		}
	}
* C:BufferedReader类的使用
	* a:导包 import java.io.BufferedReader; java.io.IOException; java.io.InputStreamReader;
	* b:创建键盘录入对象 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	* c:读取键盘录入的字符串	
		* String text = br.readLine();(BufferedReader只能获取字符串格式,需要手动转换成其他格式 比如转换成int格式 int a = Integer.parseInt(text);)
	* d:关闭流
		* br.close();
* D:案例代码
	import java.io.*;
	/*import java.io.BufferedReader;
	import java.io.IOException;//--
	import java.io.InputStreamReader;//--*/
	public class BufferedReaderDemo{
		public static void main(String[] args) throws IOException{//--
			BufferedReader re = new BufferedReader(new InputStreamReader(System.in));
			String text = re.readLine();//--read 
			System.out.println(text);
			re.close();
		}	
	}
* E:Scanner和BufferedReader差别
	* a:导包数不同
		Scanner导包时只需要导java.util.Scanner
		BufferedReader需要导java.io.BufferedReader; java.io.IOException; java.io.InputStreamReader;三个包
		(当然,有时候为了省事可以将三个包简略成java.io.*;程序会自动匹配对应的包,这种写法不影响性能,因为没用到的包系统并不会加载进来。)
	* b:读取数据差别
		Scanner读取数据是按空格符,其中包括空格键 tab键和enter键,只要遇到其中之一,Scanner的方法就会返回到下一个输入。
		BufferedReader在遇到enter键时会返回到下一个输入,所以BufferedReader可以输入和读取有空格的数据。
	* c:数据长度
		BufferedReader能读取任意长度的数据。
posted @ 2019-04-11 16:45  简笔刀  阅读(254)  评论(0编辑  收藏  举报