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;