摘要:它本質(zhì)上是使用正則表達(dá)式去讀取不同的數(shù)據(jù)類型。類為了能夠高效的讀取字符序列,從字符輸入流和字符緩沖區(qū)讀取文本。用和兩種方式實(shí)現(xiàn)以下場景用命令行輸入一個數(shù)字,如果輸出小于的所以質(zhì)數(shù),包括自己。
java.util.Scanner類是一個簡單的文本掃描類,它可以解析基本數(shù)據(jù)類型和字符串。它本質(zhì)上是使用正則表達(dá)式去讀取不同的數(shù)據(jù)類型。
java.io.BufferedReader類為了能夠高效的讀取字符序列,從字符輸入流和字符緩沖區(qū)讀取文本。
用Scanner和BufferedReader兩種方式實(shí)現(xiàn)以下場景:
用命令行輸入一個數(shù)字m,如果m >1 輸出小于m的所以質(zhì)數(shù),包括m自己。
Scanner 例子:
package sjtejcys; import java.util.Scanner; public class Primes { public static void main(String[] args) { System.out.println("請輸入一個數(shù)字:"); Scanner sc = new Scanner(System.in); int m = sc.nextInt(); if(m>1){ if(m ==2) System.out.println(m); else { int j = 0; System.out.println(2); for(int i = 3;i<=m;i++){ for(j =2;jBufferedReader 例子:
package sjtejcys; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class PrimesBF { public static void main(String[] args) { try { System.out.println("請輸入一個數(shù)字:"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = null; while ((str = br.readLine()) != null) { int m = Integer.parseInt(str); if (m > 1) { if (m == 2) System.out.println(m); else { int j = 0; System.out.println(2); for (int i = 3; i <= m; i++) { for (j = 2; j < m; j++) if (i % j == 0) break; if (j == i) System.out.println(i); } } } } br.close(); } catch (IOException e) { e.printStackTrace(); } } }簡單來說:
BufferedReader 是先把數(shù)據(jù)讀到緩存區(qū)然后在寫到硬盤里
Scanner是直接往硬盤些數(shù)據(jù)
BufferedReader 的效率比Scanner高
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/66766.html
摘要:服務(wù)器端線程實(shí)現(xiàn)首先將服務(wù)器獨(dú)立成一個線程服務(wù)器線程接受客戶端連接請求在構(gòu)造函數(shù)中我們初始化服務(wù)器的,然后等待客戶端的連接。 這次在java實(shí)驗(yàn)的時(shí)候,要求使用server socket編寫服務(wù)器和客戶端的網(wǎng)絡(luò)通信。最開始認(rèn)為應(yīng)該是挺簡單的,但是后來發(fā)現(xiàn)低估了它。出現(xiàn)了不少的問題,所以也在這里與大家分享。 問題描述 服務(wù)器程序的處理規(guī)則如下:1) 向客戶端程序發(fā)送Verifying S...
掃描 編程I/O通常涉及轉(zhuǎn)換人們喜歡使用的整齊格式的數(shù)據(jù),為了幫助你完成這些工作,Java平臺提供了兩個API,掃描器API將輸入分解為與數(shù)據(jù)位相關(guān)聯(lián)的單個標(biāo)記,格式化API將數(shù)據(jù)組裝成格式良好、可讀的形式。 Scanner類型的對象對于將格式化輸入分解為標(biāo)記并根據(jù)其數(shù)據(jù)類型轉(zhuǎn)換單個標(biāo)記非常有用。 將輸入分解為標(biāo)記 默認(rèn)情況下,掃描器使用空格分隔標(biāo)記(空格字符包括空格、制表符和行終止符,有關(guān)完整列...
摘要:代碼實(shí)現(xiàn)在控制臺打印總結(jié)本篇文章帶大家搭好環(huán)境,并體驗(yàn)了控制臺打印。輸出結(jié)果總結(jié)熟練掌握取余和整除運(yùn)算,大有作用。終止本次循環(huán),繼續(xù)執(zhí)行下一次循環(huán)。 ?本文收錄...
摘要:有兩個重要的子類異常和錯誤,二者都是異常處理的重要子類,各自都包含大量子類。錯誤是程序無法處理的錯誤,表示運(yùn)行應(yīng)用程序中較嚴(yán)重問題。異常由虛擬機(jī)拋出。迭代器通常被稱為輕量級對象,因?yàn)閯?chuàng)建它的代價(jià)小。 面向?qū)ο蠛兔嫦蜻^程的區(qū)別 面向過程 優(yōu)點(diǎn): 性能比面向?qū)ο蟾?,因?yàn)轭愓{(diào)用時(shí)需要實(shí)例化,開銷比較大,比較消耗資源;比如單片機(jī)、嵌入式開發(fā)、Linux/Unix等一般采用面向過程開發(fā),性能是...
摘要:當(dāng)使用節(jié)點(diǎn)流進(jìn)行輸入輸出時(shí),程序直接連接到實(shí)際的數(shù)據(jù)源,和時(shí)間的輸入輸出節(jié)點(diǎn)連接處理流則用于對一個已存在的流進(jìn)行連接或封裝,通過封裝后的流來實(shí)現(xiàn)數(shù)據(jù)讀寫功能,處理流也被稱為高級流。 文件的編碼 文本文件就是字節(jié)序列,可以是任意編碼形式。在中文操作系統(tǒng)上直接創(chuàng)建文本文件,則該文本文件只能識別ANSI編碼,其他編碼方式會產(chǎn)生亂碼 package imooc.io; import java...
閱讀 2625·2021-09-28 09:35
閱讀 3271·2021-09-03 10:28
閱讀 2924·2019-08-30 15:43
閱讀 1490·2019-08-30 14:04
閱讀 1820·2019-08-29 17:02
閱讀 1828·2019-08-26 13:59
閱讀 706·2019-08-26 11:51
閱讀 3271·2019-08-23 17:16