System.in簡介
System.in
是標準輸入流,通常與鍵盤輸入相關聯。它是 InputStream
類型的對象,Java 使用它來從控制臺接收用戶輸入。在 Java 程序中,通常使用 Scanner
類來讀取 System.in
的輸入。
以下是一些關鍵點,解釋為什么需要 System.in
和如何使用它:
為什么需要 System.in
-
從控制臺讀取輸入:
System.in
是標準輸入流,可以從控制臺讀取輸入數據。通過Scanner
類,可以很方便地讀取各種類型的輸入數據(如字符串、整數、浮點數等)。
-
交互式應用程序:
- 許多應用程序需要與用戶交互,例如要求用戶輸入一些數據,然后處理這些數據。使用
System.in
允許程序從控制臺獲取輸入,從而實現交互功能。
- 許多應用程序需要與用戶交互,例如要求用戶輸入一些數據,然后處理這些數據。使用
-
流的抽象:
System.in
是一個InputStream
,它抽象了輸入源。除了從鍵盤讀取輸入外,你還可以將System.in
重定向到其他輸入源(如文件或網絡流),從而使程序更具靈活性。
如何使用 System.in
通常,我們通過 Scanner
類來讀取 System.in
的輸入。以下是一些常見的用法示例:
- 讀取單行輸入:
import java.util.Scanner;public class SingleLineInput {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("請輸入一些文本:");String input = scanner.nextLine();System.out.println("你輸入的文本是:" + input);scanner.close();}
}
- 讀取多個輸入項:
import java.util.Scanner;public class MultipleInputs {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("請輸入你的名字:");String name = scanner.nextLine();System.out.print("請輸入你的年齡:");int age = scanner.nextInt();System.out.print("請輸入你的體重:");double weight = scanner.nextDouble();System.out.println("名字:" + name);System.out.println("年齡:" + age);System.out.println("體重:" + weight);scanner.close();}
}
- 讀取多行輸入,直到輸入某個終止符:
import java.util.Scanner;public class MultiLineInput {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);StringBuilder userInput = new StringBuilder();String line;System.out.println("請輸入多行文本(輸入 'exit' 結束):");while (!(line = scanner.nextLine()).equalsIgnoreCase("exit")) {userInput.append(line).append(System.lineSeparator());}System.out.println("你輸入的文本是:");System.out.println(userInput.toString());scanner.close();}
}
總結
System.in
是標準輸入流,通常用于從控制臺讀取輸入。Scanner
類提供了一種方便的方式來讀取System.in
的輸入,可以讀取字符串、整數、浮點數等各種類型的數據。- 使用
System.in
和Scanner
類,可以實現與用戶的交互,創建更靈活和動態的應用程序。