第四章 基本輸出入 Java應用程式的輸出入介面有三種,分別是命令提示字元視窗、AWT元件、及Swing元件。本單元先介紹命令提示字元視窗,AWT請看第16、17章,Swing請看第20章。 輸入 輸出
4-1 輸出 於命令提示字元視窗下輸出結果的唯一方法為System.out.print()與System.out.println(),其中括號內可放置任何的資料型別,例如boolean、short、int、float、double、string及Object等。兩者的差別是println印完跳列,而print則不跳列。例如, System.out.println(“a”); System.out.println(“aa”); 的輸出結果是 a aa 而 System.out.print(“a”); System.out.print(“aa”); 的結果則是aaa。 其次,若括號內含有(字串+數值)的資料,則一律轉換為字串輸出。例如, System.out.println(“a=”+3); 的結果是a=3。
4-2 輸入 於命令提示字元視窗輸入東西就比較複雜,例如輸入字元、字串或數值等都有不同的處理方式,請看以下說明,且這些敘述比較冗長,初學者並不需立即理解,待讀完第15章的檔案時,筆者再進一步說明。
輸入字元 輸入字元的敘述如下: int b; b=System.in.read(); 但read方法傳回值型別是int,所以必須轉型為char,如以下敘述: char c; c=(char) b; 其次,read方法的所在套件是java.io.*; ,所以亦應使用以下敘述匯入此套件。 import java.io.*; 且於資料輸入前應先申請IOException類別的例外,如以下敘述: public static void main(String[] args) throws IOException 以上例外的申請,請看第14章。
範例4-2a 示範如何讀入字元
輸入字串 輸入字串的方法是readLine,此方法存在BufferedReader類別,此類別所在的套件是java.io,所以應匯入此套件,其敘述如下: import java.io; 其次,此類別的建構子是 ufferedReader buf=(Reader in) 必須傳入一個參數in,其型別是Reader。所以,以buf物件樣例此類別的敘述如下: BufferedReader buf=new BufferedReader(in);
Reader類別是一個抽象類別,我們無法樣例此抽象類別,僅可樣例其衍生類別。所以,本例樣例InputStreamReader,此類別的建構子是 InputStreamReader(InputStream in) 必須傳入一個參數in,其型別是InputStream,所以本例以型別是InputStream的System.in欄位(Field)代替如下: InputStreamReader in=new InputStreamReader(System.in); 以上是輸入字串的解說,初學者先略讀即可,待讀完第15章之後,再回頭重讀即可瞭解。
範例4-2b 示範輸入字串。
輸入數值 常用的數值型別有byte short、int、float與double等,若要輸入這些型別的數值,則應使用以上類別的parseByte、parseShort、parseInt、parseFloat與parseDouble等方法。例如,上例的 str=buf.readLine(); 傳回一個字串,若要將此字串轉為int型別,則其敘述如下: int a; a=Integer.parseInt(str);
範例4-2c 示範整數的輸入。