Java 控制台io
在 Java 编程中,控制台输入和输出(Input/Output)是非常常见且重要的操作。控制台输入通常用于从用户那里获取数据,而控制台输出则用于将结果或者信息输出给用户。本文将介绍如何在 Java 中实现控制台输入和输出。
控制台输出
Java 提供了多种方式进行控制台输出。下面是几种常用的控制台输出方法。
使用 System.out.println()
最简单的一种方式就是使用 System.out.println()
方法进行输出。这个方法会在控制台打印指定的内容,并在最后添加一个换行符。
下面是一个示例代码:
public class ConsoleOutputExample {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
上面的代码会在控制台输出 Hello, World!
。
使用 System.out.print()
与 System.out.println()
方法类似,System.out.print()
方法也是用于在控制台输出内容。不同的是,System.out.print()
方法不会在输出内容后添加换行符。
下面是一个示例代码:
public class ConsoleOutputExample {
public static void main(String[] args) {
System.out.print("Hello, ");
System.out.print("World!");
}
}
上面的代码会在控制台输出 Hello, World!
,但是不会换行。
使用 System.out.printf()
System.out.printf()
方法可以实现更灵活的控制台输出,通过使用格式化字符串和参数列表的方式进行输出。
下面是一个示例代码:
public class ConsoleOutputExample {
public static void main(String[] args) {
String name = "Alice";
int age = 25;
System.out.printf("My name is %s and I am %d years old.", name, age);
}
}
上面的代码会在控制台输出 My name is Alice and I am 25 years old.
控制台输入
与控制台输出类似,Java 也提供了多种方式进行控制台输入。下面是几种常用的控制台输入方法。
使用 Scanner 类
Scanner
类是 Java 的标准输入类,它提供了多种方法用于获取控制台输入的数据。
下面是一个示例代码:
import java.util.Scanner;
public class ConsoleInputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Please enter your name: ");
String name = scanner.nextLine();
System.out.print("Please enter your age: ");
int age = scanner.nextInt();
System.out.printf("Hello, %s! You are %d years old.", name, age);
}
}
上面的代码会提示用户输入姓名和年龄,并将输入的值保存到相应的变量中,然后输出一条问候语。
使用 BufferedReader 类
BufferedReader
类也可以用于获取控制台输入的数据。与 Scanner
类不同的是,BufferedReader
类需要使用 InputStreamReader
类和 System.in
对象一起使用。
下面是一个示例代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ConsoleInputExample {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.print("Please enter your name: ");
String name = reader.readLine();
System.out.print("Please enter your age: ");
int age = Integer.parseInt(reader.readLine());
System.out.printf("Hello, %s! You are %d years old.", name, age);
} catch (IOException e) {
e.printStackTrace();
}
}
}
上面的代码与前面的示例代码类似,使用 BufferedReader
类替代了 Scanner
类来获取控制台输入的数据。
类图
下面是本文中所使用的示例代码的类图:
classDiagram
class ConsoleOutputExample {
+main(args: String[]): void
}
class ConsoleInputExample {
+main(args: String[]): void
}
class System {
<<final>>
+out: PrintStream
}
class PrintStream {
+println(x: String): void
+print(x: String): void
+printf(format: String, args: Object...): void
}
class Scanner {
+nextLine(): String
+nextInt(): int
}
class BufferedReader