下面是 **Java 初学阶段非常重要的一部分:包(package)、导包(import)、Scanner 类以及输入源 的详细讲解。
一、什么是包(package)
在 Java 中,包(package)是用来管理类的目录结构。
作用:
- 避免类名冲突
- 管理大型项目代码
- 按功能分类代码
例如:
package com.example.demo;
解释:
com
└─example
└─demo
Java 文件必须放在对应目录中。
二、包的基本语法
包声明必须写在 Java 文件最上方。
package com.test;
public class Hello {
public static void main(String[] args){
System.out.println("Hello Java");
}
}
注意:
package语句 只能有一条- 必须写在 第一行
三、Java 常见包
Java 标准库中有很多常用包,例如:
| 包名 | 作用 |
|---|---|
java.lang | 基础类 |
java.util | 工具类 |
java.io | 输入输出 |
java.net | 网络 |
例如:
StringMathSystem
都在 java.lang 中。
java.lang 默认自动导入。
四、导包(import)
如果要使用其他包中的类,需要 导包。
语法:
import 包名.类名;
例如:
import java.util.Scanner;
含义:
使用 Scanner 类。
五、导包的三种方式
1 导入单个类
import java.util.Scanner;
只导入 Scanner。
2 导入整个包
import java.util.*;
导入 java.util 包所有类。
但:
- 只在使用时才加载。
3 使用完整类名
不导包直接使用:
java.util.Scanner sc = new java.util.Scanner(System.in);
一般不推荐。
六、Scanner类
Scanner 是 Java 中用于读取输入数据的类。
所在包:
java.util.Scanner
因此必须导包:
import java.util.Scanner;
七、Scanner 基本用法
创建 Scanner 对象:
Scanner sc = new Scanner(System.in);
解释:
System.in→ 标准输入(键盘)
完整示例:
import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字:");
int num = sc.nextInt();
System.out.println("输入的是:"+num);
}
}
运行:
请输入一个数字:
5
输入的是:5
八、Scanner常用方法
| 方法 | 作用 |
|---|---|
nextInt() | 输入整数 |
nextDouble() | 输入小数 |
next() | 输入字符串 |
nextLine() | 输入一整行 |
示例:
Scanner sc = new Scanner(System.in);
String name = sc.next();
int age = sc.nextInt();
九、next() 和 nextLine()区别
这是 Java 初学者最容易错的地方。
next()
读取 一个单词
hello world
只读取:
hello
nextLine()
读取 一整行
hello world
读取:
hello world
示例:
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
十、输入源(Input Source)
Scanner 可以读取多种输入源。
常见输入源:
| 输入源 | 示例 |
|---|---|
| 键盘 | System.in |
| 文件 | File |
| 字符串 | String |
1 键盘输入
Scanner sc = new Scanner(System.in);
最常用。
2 读取字符串
Scanner sc = new Scanner("Hello Java");
System.out.println(sc.next());
输出:
Hello
3 读取文件
需要 File:
import java.util.Scanner;
import java.io.File;
Scanner sc = new Scanner(new File("data.txt"));
读取文件内容。
十一、完整示例(综合)
import java.util.Scanner;
public class Demo {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.print("请输入姓名:");
String name = sc.next();
System.out.print("请输入年龄:");
int age = sc.nextInt();
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
}
}
运行:
请输入姓名:Tom
请输入年龄:20
姓名:Tom
年龄:20
十二、Scanner关闭
建议使用完关闭:
sc.close();
完整写法:
Scanner sc = new Scanner(System.in);
sc.close();
十三、知识结构总结
Java 输入知识结构:
包 package
↓
导包 import
↓
Scanner类
↓
输入源
↓
读取数据
十四、初学者常见错误
1 忘记导包
错误:
Scanner cannot be resolved
解决:
import java.util.Scanner;
2 nextLine()读取空
原因:
nextInt() 后有换行符。
解决:
sc.nextLine(); // 吃掉换行
✅ 一句话总结
package → 管理类
import → 使用类
Scanner → 读取输入
System.in → 键盘输入
如果你需要,我还可以给你整理一份 《Java零基础到入门完整知识图谱(超详细版)》,里面会把 Java 初学所有核心知识(变量、流程控制、数组、类、OOP)一次讲清。