java的控制台輸入輸出有很多方法,此文分別對其進行介紹。
1、控制台的輸入
關於控制台的輸入主要介紹三種方法,第一種方法使用BufferedReader獲得控制台輸入的數據,此方法是傳統的輸入方法,使用起來比較繁瑣,輸入效率也不高,其次是使用System.in作為輸入,感覺此方法不是很靈活。最后,使用Scanner作為輸入,這種方法使用起來非常的方便好用,並且功能強大。
1.1 使用BufferedReader方法輸入,這種方法很繁瑣
//返回輸入的一行數據 public static String readLine1() throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); return br.readLine(); }
1.2 直接使用System.in輸入
//獲得輸入的一數據塊 public static String readLine2() throws IOException { byte buf[] = new byte[1024]; int i = System.in.read(buf); return new String(buf, 0, i-2); //有兩個結束符,\r\n,所以要減2 }
1.3使用Scanner輸入,這種方法最好用
/** * 可以使用s.next()輸入一個不含空格的字符串, * s.nextInt():輸入一個整數 * s.nextDouble():輸入一個double * s.nextByte():輸入一個字符 **/ public static String readLine3() { Scanner s = new Scanner(System.in); return s.nextLine(); //s.nextInt(); }
2、控制台的輸出
輸出方式總共兩種,分別是正常輸出和發生錯誤時的輸出。
兩種輸出分別為:
System.out.println("out: "+str); System.err.println("err: "+str);
關於System.out函數的輸出,有很多的輸出格式,
在此借用一網友的代碼,原文鏈接: Ajioy的專欄,JAVA控制台輸出格式
public static void main(String[] args) { //Console print format //System.out.printf(format, args);format為指定的輸出格式,args參數 System.out.printf("%+8.3f\n", 3.14); //"+"表示后面輸出的數字會有正負號,正的+,負的- ;8.3f表示輸出浮點數,寬度為8,小數點保持3位有效 System.out.printf("%+-8.3f\n", 3.14);//"-"表示靠左對齊 System.out.printf("%08.3f\n", 3.14);//"0"8位寬度中自動補0 System.out.printf("%(8.3f\n", -3.14);//"("如果是負數,自動加上( ) System.out.printf("%,f\n", 123456.78); //","金錢表示方法,每三位有一個逗號 System.out.printf("%x\n", 0x2a3b); //輸出16進制數 System.out.printf("%#x\n", 0x2a3b);//輸出帶0x標識的16進制數 System.out.printf("老板:您名字%s,年齡:%3d歲,工資:%,-7.2f\n","ajioy",21,36000.00); System.out.printf("老板:您名字%1$s,年齡:%2$#x歲\n","ajioy",38); //"n{1}quot;表示用第n個參數 }