Java 基本数据类型大全详解

Java 基本数据类型详解

Java 是强类型语言,所有变量必须先声明数据类型才能使用。基本数据类型(Primitive Data Types)是 Java 提供的预定义类型,用于存储简单值(非对象),具有固定大小和取值范围。以下是 Java 的 8 种基本数据类型的分类与说明:


1. 整数类型

用于存储无小数部分的数值,按占用内存大小和取值范围划分:

类型大小(字节)取值范围示例
byte1-128 到 127byte b = 100;
short2-32,768 到 32,767short s = 30000;
int4-2³¹ 到 2³¹-1(约 ±21 亿)int i = 1000000;
long8-2⁶³ 到 2⁶³-1(极大范围)long l = 10000000000L;

注意

  • long 类型赋值时需在数字后加 L(如 100L),否则会被当作 int 处理。
  • 默认情况下,整数常量是 int 类型。

2. 浮点类型

用于存储带小数部分的数值,分为单精度和双精度:

类型大小(字节)取值范围示例
float4约 ±3.4E+38(有效数字 6-7 位)float f = 3.14f;
double8约 ±1.8E+308(有效数字 15-16 位,默认)double d = 3.14159;

注意

  • float 类型赋值时需在数字后加 f(如 3.14f),否则会被当作 double 处理。
  • 默认情况下,浮点常量是 double 类型。

3. 字符类型

用于存储单个字符:

类型大小(字节)取值范围示例
char2Unicode 字符(0 到 65,535)char c = 'A';

说明

  • char 使用单引号(')包裹字符,如 'A''中'
  • 可表示 Unicode 字符(如 '\u0041' 表示 'A')。

4. 布尔类型

用于存储逻辑值:

类型大小(字节)取值范围示例
boolean1truefalseboolean flag = true;

说明

  • 布尔值仅用于逻辑判断(如条件语句、循环)。
  • 不能转换为整数类型(如 01)。

关键点总结

  1. 固定大小:基本数据类型的大小在所有平台上一致(如 int 始终是 4 字节)。
  2. 默认值
  • 局部变量(方法内声明)无默认值,必须显式初始化。
  • 成员变量(类中声明)有默认值(如 int 默认 0boolean 默认 false)。
  1. 性能优势:基本数据类型存储在栈内存中,访问速度比引用类型(对象)更快。
  2. 不可变性:基本数据类型的值不可变(如 int a = 10; a = 20; 是重新赋值,而非修改原值)。

示例代码

public class PrimitiveTypesExample {
    public static void main(String[] args) {
        // 整数类型
        byte b = 100;
        short s = 30000;
        int i = 1000000;
        long l = 10000000000L;

        // 浮点类型
        float f = 3.14f;
        double d = 3.1415926535;

        // 字符类型
        char c = 'A';
        char unicodeChar = '\u4E2D'; // '中'

        // 布尔类型
        boolean flag = true;

        System.out.println("byte: " + b);
        System.out.println("long: " + l);
        System.out.println("float: " + f);
        System.out.println("char: " + c + ", Unicode: " + unicodeChar);
        System.out.println("boolean: " + flag);
    }
}

与引用类型的区别

  • 基本数据类型:存储实际值,直接参与运算。
  • 引用类型(如 StringInteger):存储对象的引用(内存地址),通过 new 创建或自动装箱。

示例

int a = 10;      // 基本数据类型
Integer b = 20;  // 引用类型(自动装箱为 Integer 对象)

通过掌握基本数据类型,可以更高效地编写 Java 程序,避免因类型选择不当导致的性能或逻辑问题。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注