java基本数据类型

Java 中的 基本数据类型 是java语言内置的、不可再分解的简单数据类型,它们不是对象,直接存储在栈内存中,具有固定的存储空间和默认值。这些类型具有以下特点:

  • 是语言原生支持的简单类型

  • 直接存储在栈内存中

  • 占用固定大小的存储空间

  • 拥有预设的默认值

  • 不属于对象类型

它们一共有八种可以分为以下四大类:


一、整型(存储整数)

类型内存占用取值范围默认值示例
byte1字节-128 ~ 1270byte size = 100;
short2字节-32,768 ~ 32,7670short count = 5000;
int4字节-2³¹ ~ 2³¹-10int age = 25;
long8字节-2⁶³ ~ 2⁶³-10Llong pop = 80_0000_0000L;

注意

  • long类型字面量需以 Ll 结尾(推荐大写 L)。

  • 整数字面量默认为 int 类型,超范围需显式用 long


二、浮点型(存储小数)

类型内存占用取值范围精度默认值示例
float4字节±3.4e⁻³⁸ ~ ±3.4e³⁸约6~7位有效数字0.0ffloat price = 19.99f;
double8字节±1.7e⁻³⁰⁸ ~ ±1.7e³⁰⁸约15位有效数字0.0ddouble pi = 3.1415926;

注意

  • float字面量需以 fF 结尾。

  • 小数字面量默认为 double 类型。

  • 浮点数有精度误差(如 0.1 + 0.2 != 0.3),需用 BigDecimal 处理精确计算。


三、字符型(存储单个字符)

类型内存占用取值范围默认值示例
char2字节Unicode字符(0 ~ 65535)\u0000char grade = 'A';

特性

  • 用单引号 '' 表示(如 'A''中')。
  • 可存储转义符(如 \n 换行、\t 制表符)。
  • 可直接赋整数值(如 char c = 65;'A')。

四、布尔型(逻辑判断)

类型内存占用取值默认值示例
boolean未定义¹true/falsefalseboolean isDone = true;

注意

  • 不能用 01 代替 true/false

  • JVM实现中通常占用 1字节(或按位优化存储)。


关键特点

  1. 存储在栈内存

    性能高,直接存储值。

  2. 无方法

    不同于对象(如 Integer),基本类型没有成员方法。

  3. 值不可为空

    必须赋予有效值(如 int 不能为 null)。

  4. 自动类型转换

    小范围类型 → 大范围类型(如 intlong)自动提升。


使用示例

public class Demo {

    public static void main(String[] args) {
        // 1. 整型
        int score = 95;
        long globalPopulation = 7_900_000_000L; // 使用下划线提高可读性

        //2. 浮点型
        float temperature = 36.6f;
        double atomicMass = 1.66053906660e-27;

        // 3. 字符型
        char copyright = '©'; // Unicode字符

        // 4. 布尔型
        boolean isValid = (score > 60);

        // 自动类型转换示例
        int a = 100;
        long b = a; //  int → long 自动转换
    }
}

基本类型总结表

类型大小 (位/字节)最小值最大值默认值用途 & 注释
byte8 bits (1 字节)-1281270小整数,节省空间
short16 bits (2 字节)-32,76832,7670不常用,历史遗留/特定格式
int32 bits (4 字节)-2,147,483,648 (-2³¹)2,147,483,647 (2³¹-1)0最常用整数类型
long64 bits (8 字节)-9,223,372,036,854,775,8089,223,372,036,854,775,8070L大整数 (数值后加 L)
float32 bits (4 字节)≈ -3.4E38 (有效位数 6-7)≈ 3.4E38 (有效位数 6-7)0.0f单精度浮点 (数值后加 F), 精度有限
double64 bits (8 字节)≈ -1.7E308 (有效位数 15)≈ 1.7E308 (有效位数 15)0.0d默认浮点类型, 双精度更高
char16 bits (2 字节)‘\u0000’ (0)‘\uffff’ (65,535)‘\u0000’单字符或 Unicode 代码点
boolean未精确定义falsetruefalse逻辑值 (true / false), 非数值

何时使用包装类?

当需要以下功能时,使用包装类(如 Integer, Double):

  • 值可为空(null
  • 放入集合(如 List<Integer>
  • 调用对象方法(如 Integer.parseInt()
  • 泛型参数(如 T 必须是对象类型)

自动装箱(Autoboxing)int i = 10; Integer boxed = i;(基本 → 包装)自动拆箱(Unboxing)Integer j = 20; int k = j;(包装 → 基本)

总结

基本数据类型是Java编程的基础,是每一位java开发者必须掌握的知识点,掌握这些基本数据类型及其特性和限制,是进行高效、无错 java 编程的基础!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值