Skip to content Skip to footer

JavaSE全套基础知识详解(万字长文)

JavaSE全套基础知识详解(万字长文)

JavaSE 是 Java 学习之路的地基,掌握它意味着你具备了开发 Java 应用、Web 项目、Spring 框架的基本能力。本文将全面系统地讲解 JavaSE 的核心知识点,带你从零构建 Java 编程思维。

✅ 一、Java 简介

语言特点:

面向对象(OOP)跨平台(一次编译,处处运行)安全性高(有 JVM 沙箱机制)丰富的类库(JDK 提供了大量 API)

Java 运行机制:

编写 .java 文件使用 javac 编译生成 .class 字节码JVM 加载 .class 文件并运行

✅ 二、Java 基础语法

1. 基本数据类型

类型关键字占用字节示例整型int442浮点float/double4/83.14字符char2(UTF-16)‘A’布尔boolean1(逻辑)true2. 变量与常量

int age = 25;

final double PI = 3.14159;

final 修饰常量,表示不可更改

3. 运算符

算术运算:+ - * / %比较运算:== != > < >= <=逻辑运算:&& || !

int a = 10, b = 3;

System.out.println(a / b); // 3

System.out.println(a % b); // 1

System.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有序、可重复Set无序、不可重复Map键值对结构List list = new ArrayList<>();

Set set = new HashSet<>();

Map map = new HashMap<>();

3. 遍历集合

for (String s : list) { ... }

list.forEach(System.out::println);

✅ 七、异常处理机制

1. 异常体系

类型示例编译时异常IOException, SQLException运行时异常NullPointerException2. 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. 创建线程的三种方式

// 继承 Thread

class MyThread extends Thread {

public void run() {

System.out.println("子线程");

}

}

// 实现 Runnable

Runnable 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 关键特性

特性说明自动垃圾回收JVM 自动释放无用内存类加载机制延迟加载、双亲委派模型平台无关性JVM 使 Java 能跨平台运行泛型提高代码复用、增强类型安全Lambda 表达式简化函数式编程(Java 8 引入)

✅ 十四、学习建议与实践路线

学习路线建议:

掌握语法 + 面向对象思想熟练掌握集合 + IO + 异常 + 多线程完成小项目(如:图书管理系统、学生管理系统)阅读官方文档和 JDK 源码(如:ArrayList)学习进阶框架(Spring Boot、MyBatis)

✅ 十五、经典练习题推荐

打印九九乘法表模拟学生成绩管理系统编写图书馆借阅系统编写 TCP 聊天程序文件批量复制、合并等

✅ 结语

JavaSE 是一切 Java 技术的基石,掌握它不仅能让你写出稳健、高效的代码,也能在求职、面试中脱颖而出。希望这篇博客能成为你 Java 学习道路上的一块垫脚石!

如需源代码示例、配套PDF笔记或后续进阶框架学习路线(Spring、MyBatis、JavaWeb),欢迎评论/私信获取!

Copyright © 2088 世界杯德国巴西_世界杯为什么四年一次 - lynzzx.com All Rights Reserved.
友情链接