1、Java 输入和输出
在Java中,输入和输出(I/O)操作通常涉及与数据源(如键盘、文件、网络等)和目标(如控制台、文件、打印机等)之间的数据传输。Java标准库提供了丰富的类和方法来处理这些操作。
1.1、输入(Input)
Java中的输入操作通常通过java.util.Scanner
类(用于从控制台读取输入)或java.io
包中的类(用于从文件、网络等读取输入)来完成。
1.2、从控制台读取输入
使用Scanner
类可以方便地从控制台读取各种类型的数据,如整数、浮点数、字符串等。
下面是一个简单的 Java 程序示例,它展示了如何进行基本的输入和输出操作。这个程序会提示用户输入他们的名字,然后输出一个问候信息。
import java.util.Scanner;
public class InputOutputExample {
public static void main(String[] args) {
// 创建一个 Scanner 对象来读取用户输入
Scanner scanner = new Scanner(System.in);
// 提示用户输入他们的名字
System.out.print("请输入你的名字: ");
// 读取用户输入的名字
String name = scanner.nextLine();
// 输出问候信息
System.out.println("你好, " + name + "!");
// 关闭 Scanner 对象
scanner.close();
}
}
1.3、程序说明:
-
导入 Scanner 类:
import java.util.Scanner;
Scanner
类是 Java 中用于读取用户输入的类。 -
创建 Scanner 对象:
Scanner scanner = new Scanner(System.in);
这里我们创建了一个
Scanner
对象scanner
,它使用标准输入流System.in
来读取用户输入。 -
提示用户输入:
System.out.print("请输入你的名字: ");
使用
System.out.print
方法来输出提示信息,而不是System.out.println
,因为System.out.print
不会换行,这样用户输入的内容就会紧跟在提示信息后面。 -
读取用户输入:
String name = scanner.nextLine();
使用
scanner.nextLine()
方法读取用户输入的一行文本,并将其存储在String
变量name
中。 -
输出问候信息:
System.out.println("你好, " + name + "!");
使用
System.out.println
方法输出问候信息,并将用户输入的名字嵌入其中。 -
关闭 Scanner 对象:
scanner.close();
在完成输入操作后,关闭
Scanner
对象以释放相关资源。
运行程序:
-
将上述代码复制到一个名为
InputOutputExample.java
的文件中。 -
打开命令行或终端,导航到包含
InputOutputExample.java
文件的目录。 -
编译 Java 程序:
javac InputOutputExample.java
-
运行编译后的 Java 程序:
java InputOutputExample
程序将提示你输入名字,然后输出一个包含你名字的问候信息。
当然可以!下面我将提供一些具体的 Java 输入和输出案例,每个案例都展示了不同的应用场景。
案例 1:计算两个数的和
import java.util.Scanner;
public class SumOfTwoNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 提示用户输入第一个数
System.out.print("请输入第一个数: ");
double num1 = scanner.nextDouble();
// 提示用户输入第二个数
System.out.print("请输入第二个数: ");
double num2 = scanner.nextDouble();
// 计算两个数的和
double sum = num1 + num2;
// 输出结果
System.out.println("两个数的和是: " + sum);
scanner.close();
}
}
案例 2:判断一个数是奇数还是偶数
import java.util.Scanner;
public class OddOrEven {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 提示用户输入一个整数
System.out.print("请输入一个整数: ");
int number = scanner.nextInt();
// 判断是奇数还是偶数
if (number % 2 == 0) {
System.out.println(number + " 是偶数。");
} else {
System.out.println(number + " 是奇数。");
}
scanner.close();
}
}
案例 3:菜单驱动的简单计算器
import java.util.Scanner;
public class SimpleCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int choice;
do {
// 显示菜单
System.out.println("简单计算器菜单:");
System.out.println("1. 加法");
System.out.println("2. 减法");
System.out.println("3. 乘法");
System.out.println("4. 除法");
System.out.println("5. 退出");
// 提示用户选择操作
System.out.print("请选择操作: ");
choice = scanner.nextInt();
// 根据用户选择执行相应操作
switch (choice) {
case 1:
System.out.print("请输入第一个数: ");
double num1 = scanner.nextDouble();
System.out.print("请输入第二个数: ");
double num2 = scanner.nextDouble();
System.out.println("结果是: " + (num1 + num2));
break;
case 2:
System.out.print("请输入第一个数: ");
num1 = scanner.nextDouble();
System.out.print("请输入第二个数: ");
num2 = scanner.nextDouble();
System.out.println("结果是: " + (num1 - num2));
break;
case 3:
System.out.print("请输入第一个数: ");
num1 = scanner.nextDouble();
System.out.print("请输入第二个数: ");
num2 = scanner.nextDouble();
System.out.println("结果是: " + (num1 * num2));
break;
case 4:
System.out.print("请输入第一个数: ");
num1 = scanner.nextDouble();
System.out.print("请输入第二个数: ");
num2 = scanner.nextDouble();
if (num2 != 0) {
System.out.println("结果是: " + (num1 / num2));
} else {
System.out.println("除数不能为零!");
}
break;
case 5:
System.out.println("退出程序。");
break;
default:
System.out.println("无效选择,请重新选择。");
}
} while (choice != 5);
scanner.close();
}
}
案例 4:读取文件内容并输出到控制台
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) {
String filePath = "example.txt"; // 替换为你的文件路径
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.out.println("读取文件时出错: " + e.getMessage());
}
}
}
在这个案例中,我们使用了 BufferedReader
和 FileReader
来读取文件内容,并将其逐行输出到控制台。注意,你需要将 filePath
替换为你实际要读取的文件路径。
这些案例涵盖了基本的输入和输出操作,包括从控制台读取用户输入、进行简单的数学计算、显示菜单并根据用户选择执行操作,以及从文件中读取内容并输出到控制台。