通过本课,你将掌握以下核心内容:
理解 Java 是静态类型语言,变量类型在编译时确定
掌握 8 种基本数据类型的用途、范围与内存占用
区分基本类型与引用类型的本质差异
熟悉常见引用类型:String、类、对象、接口、数组
能根据场景选择合适的数据类型,避免溢出或精度问题
Java 在编译阶段就检查变量类型。这意味着:
int x = "Hello"; // ❌ 编译错误!不能将字符串赋值给 int✅ 类型安全由编译器保障,减少运行时错误。
Java 提供 8 种基本数据类型,分为四类:整数、浮点、字符、布尔。

💡 注意:
long字面量需加L后缀,如123456789L
⚠️ 浮点数存在舍入误差,不应用于精确计算(如金融)。此时应使用
BigDecimal。
char:16 位 Unicode 字符
范围:0 到 65,535(即 \u0000 到 \uffff)
单引号表示:'A', '中', '\u0041'
boolean:仅两个值 → true 或 false
用于条件判断、循环控制等逻辑操作
无默认数值对应(不同于 C/C++ 的 0/1)
引用类型不直接存储数据,而是存储对象在堆内存中的地址。
String(字符串)表示不可变的字符序列
用双引号定义:"Hello"
属于 java.lang.String 类
String name = "Geek1";
// name = name + "!"; // 实际创建了新对象✅ 提示:频繁修改字符串?使用
StringBuilder或StringBuffer。
用户自定义的数据结构,包含属性(字段)和行为(方法)。
class Car {
String model;
int year;
void display() {
System.out.println(model + " (" + year + ")");
}
}类的实例。通过 new 关键字创建。
Car myCar = new Car(); // myCar 是一个对象引用每个对象拥有:
状态(字段值)
行为(可调用的方法)
唯一身份(内存地址)
定义方法契约,实现多态与抽象。
interface Animal {
void sound(); // 抽象方法
}
class Dog implements Animal {
public void sound() {
System.out.println("Woof");
}
}✅ Java 不支持多继承,但一个类可实现多个接口。
存储同类型多个元素的容器
长度固定,索引从 0 开始
属于对象,继承自 Object
int[] numbers = {1, 2, 3};
String[] names = new String[3];
names[0] = "Geek1";整数优先用 int,除非明确需要更大范围(用 long)或节省内存(用 byte/short)
浮点数优先用 double,float 仅用于内存极度受限场景
避免用 float/double 做精确计算(如金额),改用 BigDecimal
字符串拼接在循环中用 StringBuilder
数组长度不可变,动态需求考虑 ArrayList
Java 有 8 种基本数据类型:boolean, byte, short, int, long, float, double, char
基本类型直接存值,引用类型存对象地址
String 是不可变对象,属于引用类型
类、对象、接口、数组都属于非基本(引用)类型
选择合适类型可提升性能、避免溢出和精度丢失
为什么 int 是最常用的整数类型?什么情况下必须使用 long?
float f = 3.14; 这行代码会报错吗?为什么?
以下代码输出什么?为什么?
String a = "Hello";
String b = "Hello";
System.out.println(a == b); // ?如何安全地比较两个 Double 对象的值?