1. 程式人生 > >Java基本程式設計結構——輸入輸出

Java基本程式設計結構——輸入輸出

1.讀取輸入:

    控制檯輸入需要構造一個Scanner物件,並與“標準輸入流”System.in關聯

    Scanner in = new Scanner(System.in);

    nextLine方法將輸入一行

    System.out.print("what is your name");

    String name = in.nextLine();

    要想以空白符為分隔符,就呼叫

    String firstname = in.next();

    讀取一個整數

    in.nextInt();

2.Scanner類:

    Scanner類定義在java.util包中

    因為輸入是可見的,所以Scanner類不適用於從控制檯讀取密碼。

    Java SE 6引入了Console類實現:

    Console cons = System.console();

    String username = cons.readLine("User name:");

    char[] password = cons.readPassword("Password:");

    Console類屬於java.io包中

    Java要與Console進行互動,不總是能得到可用的Java Console類的。一個JVM是否有可用的Console,依賴於底層平臺和JVM如何被呼叫。如果JVM是在互動式命令列(比如Windows的cmd)中啟動的,並且輸入輸出沒有重定向到另外的地方,那麼就我們可以得到一個可用的Console例項。如果在Eclipse或NetBean中執行則得不到,因為JVM不是在命令列中被呼叫的,或者輸入輸出被重定向了。

3.java.util.Scanner 5.0:

    Scanner(InputStream in)

    用給定的輸入流建立一個Scanner物件

    String nextLine()

    讀取輸入的下一個內容

    String next()

    讀取輸入的下一個單詞(以空格作為分隔符)

    int nextInt()

    double nextDouble()

    讀取並轉換下一個表示整數或浮點數的字元序列

    boolean hasNext()

    檢測輸入中是否還有其他單詞

    boolean hasNextInt()

    boolean hasNextDouble()

    檢測是否還有表示整數或浮點數的下一個字元序列

4.java.lang.System 1.0:

    static Console console()

5.java.io.Console 6:

    static char[] readPassword(String prompt , Object...args)

    static String readLine(String prompt , Object...args)

    顯示字串並且讀取使用者輸入,直到輸入行結束。args引數可以用來提供輸入格式。

6.格式化輸出:

    沿用C語言庫函式中的printf方法,並結合轉換符進行輸出

    例如:System.out.printf("%8.2f",x);

              System.out.printf("%1$s %2$tB %2$te, %2$tY","Due date:",new Date());

              System.out.printf("%s %tB %<te %<tY","Due date:",new Date());

    引數索引值從1開始,而不是從0開始,%1$...對第1個引數格式化。

    6.1語法圖:

    

7.檔案輸入輸出:

    對檔案進行讀取,需要一個用File物件構造一個Scanner物件

    例如:Scanner in = new Scanner(Paths.get("c:\\mydirectory\\myfile.txt"),"UTF-8");

    要想寫入檔案就需要構造一個printWriter物件

    例如:PrintWriter out = new PrintWriter("myfile.txt","UTF-8");

8.中斷控制:

    不帶標籤:break;

    帶標籤:break ...;

    例如:

    

    continue;