Java数据类型分类及使用指南

Java数据类型分为两大类,“基本数据类型”和“引用数据类型”。

基本数据类型:byte、short、int、long、float、double、char、boolean。

引用数据类型:类、接口、数组、枚举。

 

一、基本数据类型(8种)

基本数据类型由Java语言预定义,直接存储数据值,分配在栈内存中。

  1.整型(整数)

    注:long类型赋值时需要在数值后加L或l,推荐使用大写L。

类型 大小(位数) 取值范围 默认值 示例
byte 8位 -128 ~ 127 0 byte b = 100;
short 16位 -32768 ~ 32767 0 short s = 5000;
int 32位 -2³¹ ~ 2³¹-1 0 int i = 100000;
long 64位 -2⁶³ ~ 2⁶³-1 0L long l = 100000L;

 

 

 

 

 

 

  

  

  2.浮点型(小数)

类型 大小(位数) 精度说明 默认值 示例
float 32位 单精度(6-7位有效数字) 0.0f float f = 3.14f;
double 64位 双精度(15位有效数字) 0.0d double d = 3.1415926;

 

 

 

  注:float需在数值后加F或f,否则默认为double。

    浮点型不适合精确计算(如货币),推荐用BigDecimal。

  3.字符型(单个字符)

类型 大小(位数) 取值范围 默认值 示例
char 16位 Unicode字符(0 ~ 65535) '\u0000' char c = 'A';

 

 

  特点:用单引号''定义,支持转义字符(如\n)。

     可存储中文字符:char ch = '中';

  4. 布尔型(逻辑值)

类型 大小(不明确) 取值范围 默认值 示例
boolean 通常1位 true/false false boolean flag = true;

 

 

  注:Java中boolean不能与整数(0或1)互换。

 

二、引用数据类型

引用数据类型存储的是对象的地址(引用),分配在堆内存中,默认值为null。

1. 类(Class)

  • 如String、自定义类等。

  • 示例

  •  1 String str = "Hello"; 

2. 接口(Interface)

  • 如List、Map等。

  • 示例

  •  1 List<Integer> list = new ArrayList<>(); 

3. 数组(Array)

  • 可以是基本类型或引用类型的数组。

  • 示例

    1 int[] arr1 = new int[5]; // 动态初始化
    2 String[] arr2 = {"A", "B"}; // 静态初始化

4. 枚举(Enum)

  • 从Java 5开始支持。

  • 示例

  • 1 enum Color { RED, GREEN, BLUE }
    2 Color color = Color.RED;

 

三、注意事项

  1.自动装箱与拆箱(Java 5+):

    基本类型与对应的包装类(如int ↔ Integer)可自动转换。

    示例:

1 Integer num = 10;(自动装箱)
2 int n = num;(自动拆箱)

  2.类型转换:

    隐式转换(小类型→大类型):

1 int i = 100; long l = i;

    强制转换(大类型→小类型):

1 double d = 3.14; int i = (int) d; // 可能丢失精度

  3.默认值规则:

    类的成员变量有默认值(如int默认为0)。

    局部变量必须显式初始化,否则编译报错。

  4.内存效率:

    基本类型直接存储值,效率高;引用类型需要对象开销。

 

四、常见问题

  浮点数精度问题

    避免用==比较浮点数,推荐用差值法或BigDecimal。

  整数溢出:

    int超出范围会循环,如:

1 Integer.MAX_VALUE + 1 = Integer.MIN_VALUE

  空指针异常:

    引用类型未初始化

1 String s = null;
2 s.length(); // 会抛出NullPointerException

 

通过合理选择数据类型,可以优化内存使用并避免运行时错误。

 

posted on 2025-03-20 15:43  画楼西畔桂堂东  阅读(49)  评论(0)    收藏  举报

导航