Java 基础 - 5. 键盘录入对象
1. 引入
在 Java 编程中,用户输入是一个常见的需求。通过键盘录入数据,我们可以让程序与用户进行交互,接受用户的输入,并根据输入的内容做出响应。Scanner 类是 Java 中用于获取用户输入的工具。
在这篇文章中,我们将学习如何使用 Scanner 类获取键盘输入的基础知识,并通过简单的示例展示如何将键盘输入与程序的逻辑结合起来。
2. 介绍
Scanner 类位于 java.util 包中,用于读取用户的输入。我们可以通过 Scanner 类读取不同类型的数据,如字符串、整数、浮点数等。使用 Scanner 类的好处是,它能够自动处理用户输入,并将输入转换为相应的类型(例如,字符串、整数等)。
以下是 Scanner 类常用的方法:
nextLine():读取一整行文本。nextInt():读取一个整数。nextDouble():读取一个浮动数值。next():读取一个单词(以空格为分隔符)。
3. 语法 + 案例
3.1 使用 Scanner 录入基本数据类型
我们从最简单的键盘输入开始,使用 Scanner 类读取用户输入的基本数据类型。比如,读取字符串、整数和浮点数。
示例代码:读取基本数据类型
import java.util.Scanner; // 导入 Scanner 类
public class BasicInput {
public static void main(String[] args) {
// 创建 Scanner 对象
Scanner scanner = new Scanner(System.in);
// 读取字符串
System.out.print("请输入一个字符串: ");
String str = scanner.nextLine(); // 使用 nextLine() 读取一行文本
System.out.println("你输入的字符串是: " + str);
// 读取整数
System.out.print("请输入一个整数: ");
int num = scanner.nextInt(); // 使用 nextInt() 读取整数
System.out.println("你输入的整数是: " + num);
// 读取浮动数
System.out.print("请输入一个浮动数: ");
double decimal = scanner.nextDouble(); // 使用 nextDouble() 读取浮动数
System.out.println("你输入的浮动数是: " + decimal);
}
}
输出示例:
请输入一个字符串: Hello, Java!
你输入的字符串是: Hello, Java!
请输入一个整数: 42
你输入的整数是: 42
请输入一个浮动数: 3.14
你输入的浮动数是: 3.14
3.2 录入自定义的简单数据
虽然我们通常会将多个值保存到变量中,但如果只是单纯地想将数据录入并显示,Scanner 类也非常方便。下面的代码演示了如何通过键盘输入数据并输出:
示例代码:录入姓名和年龄
import java.util.Scanner;
public class SimpleInput {
public static void main(String[] args) {
// 创建 Scanner 对象
Scanner scanner = new Scanner(System.in);
// 读取用户姓名
System.out.print("请输入您的姓名: ");
String name = scanner.nextLine(); // 读取一行文本
// 读取用户年龄
System.out.print("请输入您的年龄: ");
int age = scanner.nextInt(); // 读取一个整数
// 显示输入的数据
System.out.println("您的姓名是: " + name + ",年龄是: " + age);
}
}
输出示例:
请输入您的姓名: 张三
请输入您的年龄: 25
您的姓名是: 张三,年龄是: 25
4. 代码说明
-
Scanner类的使用:我们通过Scanner类的构造函数创建一个Scanner对象,然后使用它的方法来读取控制台的输入。nextLine():读取用户输入的一整行文本。适用于字符串和用户可以输入多于一个单词的场合。nextInt():读取一个整数。适用于用户输入整数值时使用。nextDouble():读取一个浮动数值。适用于用户输入浮动数值时使用。
-
输入与输出:通过
System.out.println()方法将输入的数据输出到控制台。 -
注意事项:
- 如果读取整数后还想继续读取字符串,记得在
nextInt()等方法之后调用nextLine()来清除掉缓冲区中的换行符。 - 键盘输入时,用户可能会输入不符合预期的数据类型。为了避免程序崩溃,我们在实际开发中通常会对输入进行异常处理(比如
try-catch语句)。
- 如果读取整数后还想继续读取字符串,记得在
5. 练习题
题目 1
编写一个程序,要求用户输入自己的名字、年龄和成绩,并输出一条格式化的消息,显示该信息。
答案:
import java.util.Scanner;
public class UserInfo {
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 score = scanner.nextDouble();
// 输出格式化信息
System.out.println("姓名: " + name + ", 年龄: " + age + ", 成绩: " + score);
}
}
题目 2
编写一个程序,要求用户输入一个整数,判断该整数是否为正数、负数或零,并输出相应的消息。
答案:
import java.util.Scanner;
public class NumberCheck {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 输入一个整数
System.out.print("请输入一个整数: ");
int num = scanner.nextInt();
// 判断并输出
if (num > 0) {
System.out.println("这是一个正数。");
} else if (num < 0) {
System.out.println("这是一个负数。");
} else {
System.out.println("这是零。");
}
}
}
题目 3
编写一个程序,要求用户输入一个整数,输出该整数的平方和立方。
答案:
import java.util.Scanner;
public class SquareAndCube {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 输入一个整数
System.out.print("请输入一个整数: ");
int num = scanner.nextInt();
// 计算平方和立方
int square = num * num;
int cube = num * num * num;
// 输出结果
System.out.println(num + " 的平方是: " + square);
System.out.println(num + " 的立方是: " + cube);
}
}
6. 总结
通过本篇文章,我们了解了如何使用 Scanner 类从键盘录入数据,并进行基本的处理。掌握 Scanner 类的使用非常重要,因为它是许多交互式应用程序的基础。对于初学者来说,能够正确地读取和处理输入是编写程序的基本技能。
希望通过本文的学习,你能更好地掌握如何在 Java 中进行键盘输入并进行简单的逻辑处理,为后续的编程学习打下坚实的基础。
评论区