Java基礎:第十七講 基本輸入輸出

來源:互聯網
上載者:User

 

輸入和輸出是應用程式與使用者進行互動的方式,在命令列方式下通過標準輸入和輸出裝置(鍵盤和顯示器的控制台),在windows應用中可以通過圖形化使用者介面與使用者進行互動,而Web應用中主要通過瀏覽器和HTML語言與使用者進行互動。圖形化使用者介面現在用的不是很多,而Web應用比較多。而在學習Java基本文法的時候,基本的通過命令列方式的輸入和控制台方式的輸出使用比較方便,可以採用這種方式。本次內容介紹基本的通過命名行方式的輸入和輸出。 基本輸出輸出主要使用System.out.print和System.out.println方法,前面實際上已經使用過。它們的區別是前者不換行,而後者輸出之後會換行。可以輸出任何資料類型。例如:              System.out.println(1111);              System.out.println(true);              System.out.println(2323.33);              System.out.println("字串");              System.out.println('a'); 基本輸入下面主要介紹如何接受鍵盤的輸入。最基本的方式是通過System.in.read()方法,但是該方法每次接收一個字元,方法的傳回值是該字元的編碼。例如,要接收一個輸入,可以使用如下代碼:temp = System.in.read();其中,temp為int類型變數。如果要接收一個數字,例如22,需要自己處理,下面的例子展示了如何把輸入資訊轉換成數字:【例1】package iotest; public class SimpleIOTest {        /**        * @param args        */       public static void main(String[] args) {              System.out.println("請輸入5個整數,以空格分開,以斷行符號結束:");              try{                     // 用於儲存5個數位數組                     int a[]=new int[5];                     int i=0;                     int temp;                     while(true){                            // 擷取輸入字元                            temp = System.in.read();                            if((char)temp==' '){                                   // 遇到空格表示下一個整數                                   i++;                            }                            else if((char)temp=='/r'){                                   // 分行符號結束                                   break;                            }else{                                   // 把輸入的字元構造成數字                                   a[i] = a[i]*10+Integer.parseInt(String.valueOf((char)temp));                                                              }                     }                     for(int element:a){                            // 迴圈輸出5個數字                            System.out.println(element);                     }              }catch(Exception e){                     System.out.println("異常:"+e.toString());              }       }}這種方式非常麻煩,下面介紹兩種常用的方式。 使用BufferedReader    BufferedReader對基本輸入資料流System.in進行了封裝,使用它每次可以讀入一行資料,然後可以再對資料進行分析,下面的例子完成了與上面的例子相同的功能,但是代碼更容易理解,裡面有很多代碼不理解沒有關係,先記住代碼。【例2】package iotest; import java.io.InputStreamReader;import java.io.BufferedReader; public class BufferedReaderTest {       public static void main(String args[]){              System.out.println("請輸入5個整數,以空格分開,以斷行符號結束:");              try{                     // 用於儲存5個數位數組                     int a[] = new int[5];                     // 建立輸入資料流對象                     BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));                     // 讀取一行資訊                     String input = reader.readLine();                     // 以空格為分隔字元,轉換成數組                     String[] numbers = input.split(" ");                     // 把字串轉換為數字,並輸出                     for(int i=0;i<5;i++){                            // 把字串轉換為數字                            a[i] = Integer.parseInt(numbers[i]);                            System.out.println(a[i]);                     }                                   }catch(Exception e){                     System.out.println("異常:"+e.toString());              }       }} 使用Scanner使用BufferedReader使代碼簡單了一些,但是還不夠簡單,使用Scanner可以使代碼更簡單。下面的代碼展示了用法。【例3】package iotest; import java.util.Scanner; public class ScannerTest {        public static void main(String[] args) {              System.out.println("請輸入5個整數,以空格分開,以斷行符號結束:");              try{                     // 建立Scanner對象                     Scanner scanner = new Scanner(System.in);                                          // 用於儲存5個數位數組                     int a[] = new int[5];                                          for(int i=0;i<5;i++){                            // 把字串轉換為數字                            a[i] = scanner.nextInt();                            System.out.println(a[i]);                     }                                   }catch(Exception e){                     System.out.println("異常:"+e.toString());              }       }}還有其他的next方法,感興趣的可以看JDK的協助文檔。     上一次: 第十六講 日期和時間的使用    下一次: 第十八講 String用法(上)     李緒成 CSDN Blog:http://blog.csdn.net/javaeeteacher    邀請您為好友:http://student.csdn.net/invite.php?u=124362&c=7be8ba2b6f3b6cc5

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.