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
类,可以实现与用户的交互,创建更灵活和动态的应用程序。