import java.util.Scanner;
//[1] Scanner reader = new Scanner (System.in); //Scanner是JDK1.5新增的一個類,上式用該類建立一個對象
//[2] double x = reader.nextDouble(); nextBoolean(); nextByte(); nextShort(); nextInt(); nextLong(); nextFloat(); nextDouble(); //(沒有char) //reader調用上方法,讀取用戶在命令行(如MS-DOS)輸入各類基本數據
System.out.println()//輸出數據後換行 System.out.print()//輸出數據後不換行 1°可輸出串值、表達式的值 2°容許使用並置符號「+」將 變量、表達式、一個常數值 與 一個字符串 並置一塊兒輸出 ( 不加「 」 ) ( 加「」 ) System.out.println(m + "個數的和爲" + sum); System.out.print(":" + 123 "大於" + 122); 3°輸出 字符串常量 不能夠出現「回車」 System.out.println("你好, hi");//F 4°輸出長度較長字符串,可將字符串分解成幾部分,用並置符號"+"將它們首尾相接 System.out.println("你好"+ "hi");//T 5°JDK1.5新增 System.out.printf("格式控制部分",表達式1,表達式2,表達式3,……,表達式n); System.out.printf("%d,%f", 12, 23.78); 1.格式控制部分由 格式控制符號 和 普通字符 組成 2.普通字符原樣輸出 3.格式控制符號用來輸出表達式的值 %d 輸出int類型數據 %c 輸出char型數據 %f 輸出浮點型數據,小數部分最多保留6位 %s 輸出字符串數據 %md 輸出int型數據佔m列 %m.nf 輸出浮點型數據佔m列,小數點保留n位
可使用Scanner類建立一個對象:java
Scanner reader=new Scanner(System.in); //System.in當前系統輸入端 //其中:reader對象調用下列方法,讀取用戶在命令行輸入的各類基本類型數據: nextBoolean()、 nextByte()、 nextShort()、 nextInt() 、 nextLong()、nextFloat()、nextDouble()。
上述方法執行時都會堵塞,程序等待用戶在命令行輸入數據回車確認。數據庫
java使用System類中的方法實現數據輸出
例如:System.out.println()或System.out.print()輸出串值,表達式的值。編程
兩者的區別是前者輸出數據後換行,後者不換行。如:瀏覽器
System.out.println(m+"個數的和爲"+sum);
System.out.println(":"+123+"大於"+122);
若是須要輸出的字符串的長度較長,能夠將字符串分解成幾部分,而後使用並置符號:「+」將它們首尾相接,
例如:網絡
System.out.println("你好,"+ "很高興認識你" );
JDK1.5新增了和C語言中printf函數相似的輸出數據的方法,格式以下:函數
System.out.printf("格式控制部分",表達式1,表達式2,…表達式n)
格式控制部分由格式控制符號:%d、%c、%f、%s和普通的字符組成,普通字符原樣輸出。格式符號用來輸出表達式的值。
%d輸出int類型數據值;%c輸出char型數據;%f輸出浮點型數據,小數部分最多保留6位;%s輸出字符串數據。
輸出數據時也能夠控制數據在命令行的位置,例如:%md輸出的int型數據佔m列;%m.nf輸出的浮點型數據佔m列,小數點保留n位。
例如:System.out.printf("%d,%f",12, 23.78); post
對於任何程序設計語言而言,輸入輸出(Input/Output)系統都是很是核心的功能。程序運行須要數據,數據的獲取每每須要跟外部系統進行通訊,外部系統多是文件、數據庫、其餘程序、網絡、IO設備等等。外部系統比較複雜多變,那麼咱們有必要經過某種手段進行抽象、屏蔽外部的差別,從而實現更加便捷的編程。學習
輸入(Input)指的是:可讓程序從外部系統得到數據(核心含義是「讀」,讀取外部數據)。常見的應用:網站
Ø 讀取硬盤上的文件內容到程序。例如:播放器打開一個視頻文件、word打開一個doc文件。spa
Ø 讀取網絡上某個位置內容到程序。例如:瀏覽器中輸入網址後,打開該網址對應的網頁內容;下載網絡上某個網址的文件。
Ø 讀取數據庫系統的數據到程序。
Ø 讀取某些硬件系統數據到程序。例如:車載電腦讀取雷達掃描信息到程序;溫控系統等。
輸出(Output)指的是:程序輸出數據給外部系統從而能夠操做外部系統(核心含義是「寫」,將數據寫出到外部系統)。常見的應用有:
Ø 將數據寫到硬盤中。例如:咱們編輯完一個word文檔後,將內容寫到硬盤上進行保存。
Ø 將數據寫到數據庫系統中。例如:咱們註冊一個網站會員,實際就是後臺程序向數據庫中寫入一條記錄。
Ø 將數據寫到某些硬件系統中。例如:導彈系統導航程序將新的路徑輸出到飛控子系統,飛控子系統根據數據修正飛行路徑。
java.io包爲咱們提供了相關的API,實現了對全部外部系統的輸入輸出操做,這就是咱們這章所要學習的技術。
數據源data source,提供數據的原始媒介。常見的數據源有:數據庫、文件、其餘程序、內存、網絡鏈接、IO設備。
數據源分爲:源設備、目標設備。
1. 源設備:爲程序提供數據,通常對應輸入流。
2. 目標設備:程序數據的目的地,通常對應輸出流。
流是一個抽象、動態的概念,是一連串連續動態的數據集合。
對於輸入流而言,數據源就像水箱,流(stream)就像水管中流動着的水流,程序就是咱們最終的用戶。咱們經過流(A Stream)將數據源(Source)中的數據(information)輸送到程序(Program)中。
對於輸出流而言,目標數據源就是目的地(dest),咱們經過流(A Stream)將程序(Program)中的數據(information)輸送到目的數據源(dest)中。
輸入/輸出流的劃分是相對程序而言的,並非相對數據源。
流與源數據源和目標數據源之間的關係