Java 基础知识点总结

举报
yd_212140359 发表于 2026/10/17 23:20:36 2026/10/17
【摘要】 Java 基础知识点总结 一、Java 语言概述Java 是一门面向对象的编程语言,具有跨平台特性。源文件(.java)经 javac 编译成字节码(.class),再由 JVM 解释执行,因此“一次编写,到处运行”。JDK:开发工具包,含 javac、java、jdb 等。JRE:运行环境,含 JVM 与核心类库。JVM:虚拟机,负责加载并执行字节码。程序入口:public class ...

Java 基础知识点总结

一、Java 语言概述

Java 是一门面向对象的编程语言,具有跨平台特性。源文件(.java)经 javac 编译成字节码(.class),再由 JVM 解释执行,因此“一次编写,到处运行”。

  • JDK:开发工具包,含 javac、java、jdb 等。
  • JRE:运行环境,含 JVM 与核心类库。
  • JVM:虚拟机,负责加载并执行字节码。

程序入口:

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, Java!");
    }
}

二、基本数据类型

类型 字节 取值范围
byte 1 -128 ~ 127
short 2 -32768 ~ 32767
int 4 -2^31 ~ 2^31-1
long 8 -2^63 ~ 2^63-1
float 4 单精度
double 8 双精度
char 2 Unicode 字符
boolean 1 true / false

注意:long 字面量需加 L,float 需加 F。基本类型存于栈,引用类型存于堆。

三、变量与运算符

int a = 10;
double b = 3.14;
final int MAX = 100;   // 常量,不可修改

运算符分为算术、关系、逻辑、位、三元运算符。注意:

  • == 对基本类型比较值,对引用类型比较地址。
  • 字符串比较内容必须用 equals()。
  • & 和 && 区别:&& 具有短路特性。

四、流程控制

if (score >= 60) {
    System.out.println("及格");
} else {
    System.out.println("不及格");
}

for (int i = 0; i < 5; i++) { }

while (condition) { }

do { } while (condition);

switch (day) {
    case 1: System.out.println("周一"); break;
    default: System.out.println("其他");
}

Java 14 之后支持增强 switch 表达式,写法更简洁。

五、数组

int[] arr = new int[5];
int[] nums = {1, 2, 3, 4};
for (int n : nums) {
    System.out.println(n);
}

数组长度固定,通过 arr.length 获取。越界访问会抛出 ArrayIndexOutOfBoundsException。

六、面向对象三大特性

封装:属性私有化,通过 getter/setter 访问。

public class User {
    private String name;

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
}

继承:extends 单继承,子类可复用父类成员,通过 super 调用父类构造。

多态:父类引用指向子类对象,运行时决定调用哪个重写方法。

Animal a = new Dog();
a.speak();   // 调用 Dog 的 speak()

七、抽象类与接口

abstract class Shape {
    abstract double area();
}

interface Flyable {
    void fly();               // 默认 public abstract
    default void info() { }   // 默认方法
}

区别:抽象类可有构造器与成员变量,接口主要用于定义行为规范;一个类只能继承一个抽象类,但可实现多个接口。

八、String 与常用类

String s = "abc";
String s2 = new String("abc");
System.out.println(s == s2);        // false
System.out.println(s.equals(s2));   // true

String 不可变,频繁拼接应使用 StringBuilder。另有 StringBuffer(线程安全但较慢)。

九、异常处理

try {
    int r = 10 / 0;
} catch (ArithmeticException e) {
    System.out.println("除数不能为 0");
} finally {
    System.out.println("一定执行");
}
  • Error:系统级错误,程序无法处理。
  • Exception:可处理异常。分为受检异常与运行时异常。
  • 自定义异常继承 Exception 或 RuntimeException。

十、集合框架

接口 常用实现 特点
List ArrayList 有序、可重复,查询快
List LinkedList 增删快,查询慢
Set HashSet 无序、不可重复
Set TreeSet 有序、不可重复
Map HashMap 键值对,键唯一
Map TreeMap 按 key 排序
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");

Map<String, Integer> map = new HashMap<>();
map.put("age", 18);
System.out.println(map.get("age"));

十一、多线程基础

Thread t = new Thread(() -> System.out.println("running"));
t.start();

也可实现 Runnable 或 Callable。线程有新建、就绪、运行、阻塞、终止五种状态。注意 synchronized 用于保证同步,避免竞态条件。

十二、常见易错点

  1. String 比较用 equals(),不用 ==。
  2. 重写 equals() 时必须同时重写 hashCode()。
  3. 局部变量必须先赋值才能使用,成员变量有默认值。
  4. switch 中忘记 break 会穿透。
  5. 接口中的变量默认是 public static final。
  6. 自动装箱拆箱在循环中可能造成性能损耗。
  7. finally 中不要写 return,会覆盖原有返回值。

十三、学习建议

先掌握语法与面向对象,再练习集合、异常与 IO,最后进入多线程、JVM 与框架。每学一个知识点都动手写 Demo,比只看不写有效得多。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。