Java数据类型
2025/8/27大约 2 分钟
Java数据类型
原文链接:https://www.yuque.com/yopai/pp6bv5/xqfzn5tio8k1nnvg
基本类型
Java 中有 8 种基本数据类型:
| 类型 | 关键字 | 取值范围 | 默认值 |
|---|---|---|---|
| 整数 | byte | -128 ~ 127 | 0 |
| 整数 | short | -32768 ~ 32767 | 0 |
| 整数 | int | -2147483648 ~ 2147483647 | 0 |
| 整数 | long | -9223372036854775808 ~ 9223372036854775807 | 0L |
| 浮点数 | float | 单精度浮点数 | 0.0f |
| 浮点数 | double | 双精度浮点数 | 0.0 |
| 字符 | char | 单个字符 | '�' |
| 布尔 | boolean | true / false | false |
// 整数类型
byte b = 127;
short s = 32767;
int i = 2147483647;
long l = 9223372036854775807L; // long 类型需要加 L
// 浮点类型
float f = 3.14f; // float 类型需要加 f
double d = 3.14159;
// 字符类型
char c = 'A';
// 布尔类型
boolean flag = true;引用类型
引用类型是指向对象的类型,类似于 C 语言的指针:
String str = "Hello"; // 字符串
ArrayList<String> list = new ArrayList<>(); // 集合
Object obj = new Object(); // 对象
int[] arr = {1, 2, 3}; // 数组引用类型特点
┌─────────────────────────────────────────────────────────────┐
│ 引用类型 vs 基本类型 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 基本类型:直接存储值 │
│ ┌─────┐ │
│ │ 100 │ │
│ └─────┘ │
│ │
│ 引用类型:存储对象地址 │
│ ┌─────┐ ┌─────────────────────┐ │
│ │ 地址 │ ──→ │ 对象在堆内存中 │ │
│ └─────┘ │ name = "Hello" │ │
│ └─────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘常见引用类型
// String 字符串
String s = "Hello";
// ArrayList 动态数组
ArrayList<String> list = new ArrayList<>();
list.add("World");
// HashMap 键值对
HashMap<String, Integer> map = new HashMap<>();
map.put("age", 18);
// 数组
int[] arr = {1, 2, 3, 4, 5};
String[] names = {"Tom", "Jerry"};类型转换
自动类型转换(隐式)
范围小的类型自动转换为范围大的类型:
byte → short → int → long → float → double
char → intbyte b = 100;
int i = b; // byte 自动转换为 int
long l = i; // int 自动转换为 long
double d = l; // long 自动转换为 double强制类型转换(显式)
范围大的类型转换到范围小的类型:
double d = 3.14;
int i = (int) d; // 3.14 强制转为 int,结果是 3(小数部分丢失)
long l = 100L;
byte b = (byte) l; // long 强制转为 byte注意:强制类型转换可能导致数据丢失。
总结
┌─────────────────────────────────────────────────────────────┐
│ Java 数据类型分类 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 基本类型(8种): │
│ - 整数:byte, short, int, long │
│ - 浮点:float, double │
│ - 字符:char │
│ - 布尔:boolean │
│ │
│ 引用类型: │
│ - String、ArrayList、HashMap、数组等 │
│ │
│ 类型转换: │
│ - 自动转换:小范围 → 大范围 │
│ - 强制转换:大范围 → 小范围(可能丢失数据) │
│ │
└─────────────────────────────────────────────────────────────┘