JavaSE全套基础知识详解(万字长文)
JavaSE全套基础知识详解(万字长文)
JavaSE 是 Java 学习之路的地基,掌握它意味着你具备了开发 Java 应用、Web 项目、Spring 框架的基本能力。本文将全面系统地讲解 JavaSE 的核心知识点,带你从零构建 Java 编程思维。
✅ 一、Java 简介
-
语言特点:
- 面向对象(OOP)
- 跨平台(一次编译,处处运行)
- 安全性高(有 JVM 沙箱机制)
- 丰富的类库(JDK 提供了大量 API)
-
Java 运行机制:
- 编写
.java
文件 - 使用
javac
编译生成.class
字节码 - JVM 加载
.class
文件并运行
- 编写
✅ 二、Java 基础语法
1. 基本数据类型
2. 变量与常量
int age = 25;final double PI = 3.14159;
final
修饰常量,表示不可更改
3. 运算符
- 算术运算:
+ - * / %
- 比较运算:
== != > = <=
- 逻辑运算:
&& || !
int a = 10, b = 3;System.out.println(a / b); // 3System.out.println(a % b); // 1System.out.println(++a); // 11
✅ 三、流程控制语句
1. 分支语句
if (score >= 90) { System.out.println(\"优秀\");} else if (score >= 60) { System.out.println(\"及格\");} else { System.out.println(\"不及格\");}
2. switch语句
switch (day) { case 1 -> System.out.println(\"Monday\"); case 2 -> System.out.println(\"Tuesday\"); default -> System.out.println(\"Unknown\");}
3. 循环语句
for (int i = 0; i < 5; i++) { ... }while (x > 0) { ... }do { ... } while (x > 0);
break
:跳出当前循环continue
:跳过当前迭代
✅ 四、方法与参数
1. 方法定义
public static int add(int a, int b) { return a + b;}
static
表示静态方法- 可变参数:
void print(String... args)
2. 方法重载(Overload)
void say() {}void say(String name) {}
✅ 五、面向对象编程(OOP)
1. 类与对象
class Car { String brand; void drive() { System.out.println(brand + \" is running...\"); }}Car c = new Car();c.brand = \"BMW\";c.drive();
2. 封装
private
修饰属性 +getter/setter
3. 继承
class Animal { void eat() {} }class Dog extends Animal { void bark() {} }
4. 多态
Animal a = new Dog(); // 向上转型a.eat(); // 编译时看父类,运行时看子类(动态绑定)
5. 抽象类 & 接口
abstract class Shape { abstract double area();}interface Flyable { void fly();}
✅ 六、数组与集合
1. 数组
int[] arr = {1, 2, 3};for (int i : arr) { System.out.println(i);}
2. 集合框架(Collection)
List<String> list = new ArrayList<>();Set<String> set = new HashSet<>();Map<String, Integer> map = new HashMap<>();
3. 遍历集合
for (String s : list) { ... }list.forEach(System.out::println);
✅ 七、异常处理机制
1. 异常体系
2. try-catch-finally
try { int x = 1 / 0;} catch (ArithmeticException e) { e.printStackTrace();} finally { System.out.println(\"释放资源\");}
✅ 八、输入与输出(IO)
1. 字节流与字符流
FileInputStream fis = new FileInputStream(\"a.txt\");FileReader fr = new FileReader(\"a.txt\");BufferedReader br = new BufferedReader(fr);
2. 序列化与反序列化
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(\"obj.ser\"));oos.writeObject(myObject);
类需实现
Serializable
接口
✅ 九、多线程编程
1. 创建线程的三种方式
// 继承 Threadclass MyThread extends Thread { public void run() { System.out.println(\"子线程\"); }}// 实现 RunnableRunnable r = () -> System.out.println(\"Lambda Thread\");new Thread(r).start();// 使用线程池ExecutorService es = Executors.newFixedThreadPool(2);es.execute(() -> System.out.println(\"线程池中的线程\"));
2. 同步关键字
synchronized (this) { // 临界区}
✅ 十、网络编程(Socket)
// 服务端ServerSocket server = new ServerSocket(8888);Socket client = server.accept();BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
// 客户端Socket socket = new Socket(\"localhost\", 8888);PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);pw.println(\"Hello Server!\");
✅ 十一、反射机制
Class<?> cls = Class.forName(\"com.example.Person\");Object obj = cls.getDeclaredConstructor().newInstance();Method method = cls.getMethod(\"sayHello\");method.invoke(obj);
✅ 十二、常用API详解
java.lang
:基础类(String、Object、Math、System)java.util
:集合、工具类、时间处理java.io
:输入输出java.net
:网络java.nio
:高性能 IOjava.time
:Java 8 日期时间 API
✅ 十三、Java 关键特性
✅ 十四、学习建议与实践路线
学习路线建议:
- 掌握语法 + 面向对象思想
- 熟练掌握集合 + IO + 异常 + 多线程
- 完成小项目(如:图书管理系统、学生管理系统)
- 阅读官方文档和 JDK 源码(如:ArrayList)
- 学习进阶框架(Spring Boot、MyBatis)
✅ 十五、经典练习题推荐
- 打印九九乘法表
- 模拟学生成绩管理系统
- 编写图书馆借阅系统
- 编写 TCP 聊天程序
- 文件批量复制、合并等
✅ 结语
JavaSE 是一切 Java 技术的基石,掌握它不仅能让你写出稳健、高效的代码,也能在求职、面试中脱颖而出。希望这篇博客能成为你 Java 学习道路上的一块垫脚石!
如需源代码示例、配套PDF笔记或后续进阶框架学习路线(Spring、MyBatis、JavaWeb),欢迎评论/私信获取!