一、概述
輸入輸出可以說是計算機的基本功能。作為一種語言體系,java中主要按照流(stream)的模式來實現。其中數據的流向是按照計算機的方向確定的,流入計算機的數據流叫做輸入流(inputStream),由計算機發出的數據流叫做輸出流(outputStream)。
Java語言體系中,對數據流的主要操作都封裝在java.io包中,通過java.io包中的類可以實現計算機對數據的輸入、輸出操作。在編寫輸入、輸出操作代碼時,需要用import語句將java.io包導入到應用程序所在的類中,才可以使用java.io中的類和接口。
二、輸入語句
1.使用Scanner類:
(1)使用java.util包。 import java.util.*;
(2)構造Scanner類對象,它附屬于標準輸入流System.in。 Scanner s = new Scanner(System.in);
(3)常用的next()方法系列: nextInt():輸入整數 nextLine():輸入字符串 nextDouble():輸入雙精度數 next():輸入字符串(以空格作為分隔符)。
- import java.util.*;
- public class DEMO_1 {
- public static void main(String[] args){
- Scanner s = new Scanner(System.in);
- System.out.print("輸入你的姓名:");
- String name = s.nextLine();
- System.out.print("輸入你的年齡:");
- int age = s.nextInt();
- System.out.println("姓名:" + name + " 年齡:" + age );
- s.close(); //若沒有關閉Scanner對象將會出現警告
- }
- }
注釋:代碼第1行創建了一個Scanner類的對象,這個對象是用來輸入的。后面的代碼是從控制臺的輸入中取出一個值,賦值給對應的變量。
2.使用java.io.BufferedReader和java.io.InputStreamReader:
步驟:
(1)使用java.io包。 import java.io.*;
(2)構造 BufferedReader類對象,它附屬于標準輸入流System.in。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- public class Sandbox4 extends Sandbox2{
- public static void main(String[] args) {
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- String str = null;
- while(true){
- try {
- str = br.readLine();
- }catch(IOException e){
- e.printStackTrace();
- }
- if(str.equals("END"))break;
- System.out.print(str);
- }
- }
- }
請注意:
(1)read方法:讀取單個字符。 返回:作為一個整數(其范圍從 0 到 65535 (0x00-0xffff))讀入的字符,如果已到達流末尾,則返回 -1 ;
(2)readLine方法:讀取一個文本行。通過下列字符之一即可認為某行已終止:換行 ('\n')、回車 ('\r') 或回車后直接跟著換行。 返回:包含該行內容的字符串,不包含任何行終止符,如果已到達流末尾,則返回 null。
3、使用java.io.Console:
- public class Sandbox4 extends Sandbox2{
- public static void main(String[] args) {
- Console console = System.console();
- if (console == null) {
- throw new IllegalStateException("Console is not available!");
- }
- String str = null;
- while(true){
- str = console.readLine("請輸入");
- if("END".equals(str))break;
- System.out.println(str);
- }
- }
- }
輸入問題解惑:
注:該問題圖片來源于百度知道。
三、輸出語句
Java中的輸出語句有以下四種:
- System.out.println(1111);//換行打印
- System.out.print(1111);//不換行打印
- System.out.write(2222);//字節輸出
- System.out.printf("%+8.3f\n", 3.14);//按格式輸出
System.out.println();是最常用的輸出語句,它會把括號里的內容轉換成字符串輸出到輸出窗口(控制臺),并且換行,當輸出的是一個基本數據類型時,會自動轉換成字符串,如果輸出的是一個對象,會自動調用對象的toString();
方法,將返回值輸出到控制臺
System.out.print();
與第一個很相似,區別就是上一個輸出后會換行,而這個命令輸出后并不換行。
System.out.printf();
這個方法延續了C語言的輸出方式,通過格式化文本和參數列表輸出。