【Java】基本数据类型(Primitive Types)

Posted by 西维蜀黍 on 2019-06-28, Last Modified on 2025-07-22

列举

  • 数值型:
    • 整数类型:byte(字节型)、short(短整型)、int(整型)、long(长整型)
    • 浮点类型:float(单精度浮点型)、double(双精度浮点型)
  • 字符型:char
  • 布尔型:boolean

对应包装类

java.lang.Byte、java.lang.Short、java.lang.Integer、java.lang.Long、java.lang.Float、java.lang.Double、java.lang.Boolean、java.lang.Character

详细划分

具体可分为四类:

  • 整型 byte short int long
  • 浮点型 float double
  • 逻辑型 boolean(它只有两个值可取 true false)
  • 字符型 char

汇总

序号 数据类型 大小/位 封装类 默认值 可表示数据范围
1 byte(位) 8 Byte 0 -128 ~ 127 是最小的整数类型,适合用于节省内存,例如在处理文件或网络流时存储小范围整数数据。
2 short(短整数) 16 Short 0 -32768 ~ 32767 较少使用,通常用于在需要节省内存且数值范围在该区间的场景。
3 int(整数) 32 Integer 0 -2147483648 ~ 2147483647 最常用的整数类型,可满足大多数日常编程中整数计算的需求。
4 long(长整数) 64 Long 0L -9223372036854775808 ~ 9223372036854775807 用于表示非常大的整数,当 int 类型无法满足需求时使用,定义时数值后需加 Ll
5 float(单精度) 32 Float 0.0F 1.4E-45 ~ 3.4028235E38 单精度浮点数,用于表示小数,精度相对较低,定义时数值后需加 Ff
6 double(双精度) 64 Double 0.0D 4.9E-324 ~ 1.7976931348623157E308 双精度浮点数,精度比 float 高,是 Java 中表示小数的默认类型。
7 char(字符) 16 Character 0 ~ 65535 用于表示单个字符,采用 Unicode 编码,可表示各种语言的字符。
8 boolean 8 Boolean flase true或false 用于逻辑判断,只有两个取值,常用于条件判断和循环控制等逻辑场景。

Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的“E+数字”表示E之前的数字要乘以10的多少倍。,结尾的“E+数字”表示E之前的数字要乘以10的多少倍。

整型 - byte

  • byte 数据类型是8位、有符号的,以二进制补码表示的整数;
  • 最小值是 -128(-2^7)
  • 最大值是 127(2^7-1)
  • 默认值是 0
  • byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
  • 例子:byte a = 100,byte b = -50。

整型 - short

  • short 数据类型是 16 位、有符号的以二进制补码表示的整数
  • 最小值是 -32768(-2^15)
  • 最大值是 32767(2^15 - 1)
  • Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
  • 默认值是 0
  • 例子:short s = 1000,short r = -20000。

整型 - int

  • int 数据类型是32位、有符号的以二进制补码表示的整数;
  • 最小值是 -2,147,483,648(-2^31)
  • 最大值是 2,147,483,647(2^31 - 1)
  • 一般地整型变量默认为 int 类型;
  • 默认值是 0
  • 例子:int a = 100000, int b = -200000。

整型 - long

  • long 数据类型是 64 位、有符号的以二进制补码表示的整数;
  • 最小值是 -9,223,372,036,854,775,808(-2^63)
  • 最大值是 9,223,372,036,854,775,807(2^63 -1)
  • 这种类型主要使用在需要比较大整数的系统上;
  • 默认值是 0L
  • 例子: long a = 100000L,Long b = -200000L。 “L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。

浮点型 - float

  • float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
  • float 在储存大型浮点数组的时候可节省内存空间;
  • 默认值是 0.0f
  • 浮点数不能用来表示精确的值,如货币;
  • 例子:float f1 = 234.5f。

浮点型 - double

  • double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
  • 浮点数的默认类型为double类型;
  • double类型同样不能表示精确的值,如货币;
  • 默认值是 0.0d
  • 例子:double d1 = 123.4。

逻辑型 - boolean

  • boolean数据类型表示一位的信息;
  • 只有两个取值:true 和 false;
  • 这种类型只作为一种标志来记录 true/false 情况;
  • 默认值是 false
  • 例子:boolean one = true。

字符型 - char

  • char类型是一个单一的 16 位 Unicode 字符;
  • 最小值是 \u0000(即为0);
  • 最大值是 \uffff(即为65,535);
  • char 数据类型可以储存任何字符;
  • 例子:char letter = ‘A’;。

类型默认值

下表列出了 Java 各个类型的默认值:

数据类型 默认值
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char ‘u0000’
String (or any object) null
boolean false

Reference