Java语言提供了八种基本类型。六种数字类型

Java语言提供了八种基本数据类型(primitive types),这是Java中最基础、最直接存储在栈内存中的数据类型,不需要new创建对象。

官方标准说法是:
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

下面用表格清晰列出全部八种基本类型,包括占用字节、默认值、取值范围和典型使用场景:

类型关键字占用字节默认值取值范围典型用途备注
字节型byte10-128 ~ 127大数组节省内存、字节流处理最小的整数类型
短整型short20-32,768 ~ 32,767节省内存的中小整数实际使用较少
整型int40-2,147,483,648 ~ 2,147,483,647 (-2³¹ ~ 2³¹-1)常规整数计数、循环索引最常用的整数类型
长整型long80L-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807大整数(如ID、时间戳)字面量需加L,如 10000000000L
单精度浮点float40.0f≈ ±3.4E38(有效数字约6~7位)科学计算、对精度要求不高的浮点字面量需加f,如 3.14f
双精度浮点double80.0≈ ±1.8E308(有效数字约15~16位)绝大多数浮点计算(金额除外)最常用的浮点类型
字符型char20 ~ 65,535(Unicode字符)存储单个字符本质是16位无符号整数,可写 ‘中’、’\u4e2d’
布尔型boolean~1falsetrue / false条件判断、开关标志JVM实际实现可能占1字节或4字节

六种数字类型(数值类型)详解

用户特别提到“六种数字类型”,它们就是:

  1. 四个整数类型(都是有符号的整数,按大小递增):
  • byte
  • short
  • int
  • long
  1. 两个浮点类型(表示小数):
  • float
  • double

这六种类型都属于数值类型,支持算术运算(+ – * / %)、比较运算等。

剩下两种不是数字类型:

  • char → 字符类型(本质上是无符号整数,但设计目的是表示字符)
  • boolean → 逻辑类型(只能取true/false)

常用记忆口诀

四整两浮一字符一布尔
四种整数(byte short int long) + 两种浮点(float double) + char + boolean = 8种

快速示例

public class PrimitiveTypes {
    public static void main(String[] args) {
        byte b = 127;               // 最大127
        short s = 32767;            // 最大32767
        int i = 2147483647;         // 常用
        long l = 9223372036854775807L; // 要加L

        float f = 3.14f;            // 要加f
        double d = 3.141592653589793; // 默认double

        char c = 'A';               // 或 '\u0041'
        boolean flag = true;

        System.out.println("int 默认值: " + 0);     // 0
        System.out.println("boolean 默认值: " + false); // false
    }
}

面试/学习常考点

  • int 是默认整数类型,double 是默认浮点类型
  • long 字面量必须加 L 或 l
  • float 字面量必须加 f 或 F
  • char 可以直接存放中文字符(因为用Unicode编码)
  • boolean 不能参与算术运算(不能写 boolean b = 1;)
  • 所有基本类型都有对应的包装类(Byte、Short、Integer、Long、Float、Double、Character、Boolean)

如果你想深入某个类型(比如为什么金额不要用double、自动装箱拆箱、整数缓存机制、float精度丢失等),可以告诉我,我再详细展开!

文章已创建 4580

发表回复

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

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部