摘要:是方法返回值的數據類型。方法名和參數表共同構成方法簽名。構造方法和它所在類的名字相同,但構造方法沒有返回值。輸入流表示從一個源讀取數據,輸出流表示向一個目標寫數據。下圖是一個描述輸入流和輸出流的類層次圖。有多種構造方法可用來創建對象。
我們經常使用到 System.out.println(),那么它是什么呢?一、系統方法
我們經常使用到 System.out.println(),那么它是什么呢?
println() 是一個方法。
System 是系統類。
out 是標準輸出對象。
這句話的用法是調用系統類 System 中的標準輸出對象 out 中的方法 println()。
那么什么是方法呢?Java方法是語句的集合,它們在一起執行一個功能。
方法是解決一類問題的步驟的有序組合
方法包含于類或對象中
方法在程序中被創建,在其他地方被引用
方法的優點使程序變得更簡短而清晰。
有利于程序維護。
可以提高程序開發的效率。
提高了代碼的重用性。
方法的命名規則1.方法的名字的第一個單詞應以小寫字母作為開頭,后面的單詞則用大寫字母開頭寫,不使用連接符。例如:addPerson。
2.下劃線可能出現在 JUnit 測試方法名稱中用以分隔名稱的邏輯組件。一個典型的模式是:test
一般情況下,定義一個方法包含以下語法:
修飾符 返回值類型 方法名(參數類型 參數名){ ... 方法體 ... return 返回值; }
方法包含一個方法頭和一個方法體。下面是一個方法的所有部分:
修飾符:修飾符,這是可選的,告訴編譯器如何調用該方法。定義了該方法的訪問類型。
返回值類型 :方法可能會返回值。returnValueType 是方法返回值的數據類型。有些方法執行所需的操作,但沒有返回值。在這種情況下,returnValueType 是關鍵字void。
方法名:是方法的實際名稱。方法名和參數表共同構成方法簽名。
參數類型:參數像是一個占位符。當方法被調用時,傳遞值給參數。這個值被稱為實參或變量。參數列表是指方法的參數類型、順序和參數的個數。參數是可選的,方法可以不包含任何參數。
方法體:方法體包含具體的語句,定義該方法的功能。
示例:
/** 返回兩個整型變量數據的較大值 */ public static int max(int num1, int num2) { int result; if (num1 > num2) result = num1; else result = num2; return result; }構造方法
當一個對象被創建時候,構造方法用來初始化該對象。構造方法和它所在類的名字相同,但構造方法沒有返回值。
通常會使用構造方法給一個類的實例變量賦初值,或者執行其它必要的步驟來創建一個完整的對象。
不管你與否自定義構造方法,所有的類都有構造方法,因為Java自動提供了一個默認構造方法,它把所有成員初始化為0。
一旦你定義了自己的構造方法,默認構造方法就會失效。
二、Streamjava.io 包幾乎包含了所有操作輸入、輸出需要的類。所有這些流類代表了輸入源和輸出目標。
Java.io 包中的流支持很多種格式,比如:基本類型、對象、本地化字符集等等。
一個流可以理解為一個數據的序列。輸入流表示從一個源讀取數據,輸出流表示向一個目標寫數據。
Java 為 I/O 提供了強大的而靈活的支持,使其更廣泛地應用到文件傳輸和網絡編程中。
但本節講述最基本的和流與 I/O 相關的功能。我們將通過一個個例子來學習這些功能。
讀取控制臺輸入Java 的控制臺輸入由 System.in 完成。
為了獲得一個綁定到控制臺的字符流,你可以把 System.in 包裝在一個 BufferedReader 對象中來創建一個字符流。
下面是創建 BufferedReader 的基本語法:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedReader 對象創建后,我們便可以使用 read() 方法從控制臺讀取一個字符,或者用 readLine() 方法讀取一個字符串。
從 BufferedReader 對象讀取一個字符要使用 read() 方法,它的語法如下:
int read( ) throws IOException
每次調用 read() 方法,它從輸入流讀取一個字符并把該字符作為整數值返回。 當流結束的時候返回 -1。該方法拋出 IOException。
/ 使用 BufferedReader 在控制臺讀取字符 import java.io.*; public class BRRead { public static void main(String args[]) throws IOException { char c; // 使用 System.in 創建 BufferedReader BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("輸入字符, 按下 "q" 鍵退出。"); // 讀取字符 do { c = (char) br.read(); System.out.println(c); } while(c != "q"); } }三、讀寫文件
一個流被定義為一個數據序列。輸入流用于從源讀取數據,輸出流用于向目標寫數據。
下圖是一個描述輸入流和輸出流的類層次圖。
FileInputStream該流用于從文件讀取數據,它的對象可以用關鍵字 new 來創建。
有多種構造方法可用來創建對象。
可以使用字符串類型的文件名來創建一個輸入流對象來讀取文件:
InputStream f = new FileInputStream("C:/java/hello");
也可以使用一個文件對象來創建一個輸入流對象來讀取文件。我們首先得使用 File() 方法來創建一個文件對象:
File f = new File("C:/java/hello"); InputStream out = new FileInputStream(f);
創建了InputStream對象,就可以使用下面的方法來讀取流或者進行其他的流操作。
FileOutputStream該類用來創建一個文件并向文件中寫數據。
如果該流在打開文件進行輸出前,目標文件不存在,那么該流會創建該文件。
有兩個構造方法可以用來創建 FileOutputStream 對象。
使用字符串類型的文件名來創建一個輸出流對象:
OutputStream f = new FileOutputStream("C:/java/hello")
也可以使用一個文件對象來創建一個輸出流來寫文件。我們首先得使用File()方法來創建一個文件對象:
File f = new File("C:/java/hello"); OutputStream f = new FileOutputStream(f);
創建OutputStream 對象完成后,就可以使用下面的方法來寫入流或者進行其他的流操作。
示例:
import java.io.*; public class fileStreamTest{ public static void main(String args[]){ try{ byte bWrite [] = {11,21,3,40,5}; OutputStream os = new FileOutputStream("test.txt"); for(int x=0; x < bWrite.length ; x++){ os.write( bWrite[x] ); // writes the bytes } os.close(); InputStream is = new FileInputStream("test.txt"); int size = is.available(); for(int i=0; i< size; i++){ System.out.print((char)is.read() + " "); } is.close(); }catch(IOException e){ System.out.print("Exception"); } } }
文件:
//文件名 :fileStreamTest2.java import java.io.*; public class fileStreamTest2{ public static void main(String[] args) throws IOException { File f = new File("a.txt"); FileOutputStream fop = new FileOutputStream(f); // 構建FileOutputStream對象,文件不存在會自動新建 OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8"); // 構建OutputStreamWriter對象,參數可以指定編碼,默認為操作系統默認編碼,windows上是gbk writer.append("中文輸入"); // 寫入到緩沖區 writer.append(" "); //換行 writer.append("English"); // 刷新緩存沖,寫入到文件,如果下面已經沒有寫入的內容了,直接close也會寫入 writer.close(); //關閉寫入流,同時會把緩沖區內容寫入文件,所以上面的注釋掉 fop.close(); // 關閉輸出流,釋放系統資源 FileInputStream fip = new FileInputStream(f); // 構建FileInputStream對象 InputStreamReader reader = new InputStreamReader(fip, "UTF-8"); // 構建InputStreamReader對象,編碼與寫入相同 StringBuffer sb = new StringBuffer(); while (reader.ready()) { sb.append((char) reader.read()); // 轉成char加到StringBuffer對象中 } System.out.println(sb.toString()); reader.close(); // 關閉讀取流 fip.close(); // 關閉輸入流,釋放系統資源 } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70838.html
摘要:實例文件中的結果如下陳加兵姓名陳加兵年齡成績姓名陳加兵年齡成績文件創建成功陳加兵姓名年齡成績姓名年齡成績繼承,主要針對的是字符流的操作向文本輸出流打印對象的格式化表示形式。構造函數使用指定文件創建不具有自動行刷新的新。 打印流 在整個IO包中,打印流是輸出信息最方便的類,主要包含字節打印流(PrintStream)和字符打印流(PrintWrite)。打印流提供了非常方便的打印功能,可...
摘要:學習筆記三在整個包中,實際上就是分為字節流和字符流,但是除了這兩個流之外,還存在了一組字節流字符流的轉換類。是字節流通向字符流的橋梁它使用指定的讀取字節并將其解碼為字符。主要的功能還是向文件中寫入文件構造函數創建使用默認字符編碼的。 Java IO學習筆記三 在整個IO包中,實際上就是分為字節流和字符流,但是除了這兩個流之外,還存在了一組字節流-字符流的轉換類。 OutputStre...
摘要:學習筆記二流的概念在程序中所有的數據都是以流的方式進行傳輸或保存的,程序需要數據的時候要使用輸入流讀取數據,而當程序需要將一些數據保存起來的時候,就要使用輸出流完成。主要功能是向文件中寫入內容構造函數根據給定的對象構造一個對象。 Java IO學習筆記二 流的概念 在程序中所有的數據都是以流的方式進行傳輸或保存的,程序需要數據的時候要使用輸入流讀取數據,而當程序需要將一些數據保存起來...
摘要:文件流,系統標準輸入輸出流,標準錯誤流,還有一開始提到的流,還有一些后臺技術如對請求響應流的抽象,都可以見到流的概念。語言的庫中定義了打開文件流時必須指定的集中打開方式,表示用于讀取,用于寫入,用于讀寫。 —— 對這個問題的思考來源于前幾天對 Java Socket 編程的嘗試,TCP 協議要求建立一個 Socket 連接(著名的三次握手)之后才能進行通信,而連接雙方進行數據的發送與接...
閱讀 2621·2021-11-25 09:43
閱讀 2724·2021-11-04 16:09
閱讀 1634·2021-10-12 10:13
閱讀 881·2021-09-29 09:35
閱讀 880·2021-08-03 14:03
閱讀 1777·2019-08-30 15:55
閱讀 2989·2019-08-28 18:14
閱讀 3489·2019-08-26 13:43