Skip to content

数据类型

Java 的数据类型分为两种:

  • 基本数据类型
  • 引用数据类型

基本数据类型

基本数据类型有八种。4种整型(byte、short、int、long),2种浮点型(float、double),1种字符型(char),1种布尔型(boolean)。

byte

  • 8位二进制数
  • 最小值是-2^7,即 -128
  • 最大值是2^7-1,即127
  • 示例:byte x = 1

提示

因为整数有正负之分,因此由最高位二进制数来表达正负(0表示正数,1表示负数),因此整型的取值范围都少一位二进制数。

又因为0的存在,整型的最大值需要减1。

short

  • 16位二进制数
  • 最小值是-2^15,即 -32768
  • 最大值是2^15-1,即32767
  • 示例:short x = 2

int

  • 32位二进制数
  • 最小值是-2^31,即 -2,147,483,648
  • 最大值是2^31-1,即2,147,483,647
  • 默认的整型类型
  • 示例:int x = 3

long

  • 64位二进制数
  • 最小值是-2^63,即 -9,223,372,036,854,775,808
  • 最大值是2^63-1,即9,223,372,036,854,775,807
  • 示例:long x = 2,147,483,647L

为什么long类型的末尾要加L?

因为整型的默认类型是int,如果要定义一个超过int类型范围的值,则需要加上标识L。

"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。

后面的浮点型同理。

float

  • 32位二进制数,遵循IEEE754标准
  • 示例:float x = 3.4F

double

  • 64位二进制数,遵循IEEE754标准
  • 默认的浮点型类型
  • 示例:float x = 3.4

警告

浮点数不能表示精确值,因为 IEEE 754 标准导致会有精度运算偏差的问题。

char

  • 16位二进制数,表示 Unicode 编码
  • 示例:char x = 'A'

boolean

  • 1位二进制数
  • 只有两个值:true 和 false
  • 示例:boolean x = true

引用数据类型

引用数据类型有五种。数组 Array类 Class接口 interface枚举 enum、注解 @interface。