跳至主要內容

数据类型

Yang大约 2 分钟JavaJava基础数据类型

分类

  • 基本数据类型

    • 数值型
      • 整数类型
        • byte:字节型
        • short:短整型
        • int:整型
        • long:长整型,以大写的或小写的(L/l)结尾,未加 L 被视为 int
      • 浮点类型
        • float:单精度浮点型,以大写的或小写的(F/f)结尾
        • double:双精度浮点型,浮点型字面值默认为 double 类型
    • 字符型(char)
    • 布尔型(boolean)
  • 引用数据类型

    • 字符串(String)

    • 类(class)

    • 接口(interface)

    • 数组

空间占用

数据类型说明字节最小范围最大范围
byte字节型18-2^72^7-1
short短整型216-2^152^15-1
int整型432-2^312^31-1
long长整型864-2^632^63-1
float单精度浮点型432-3.40E+383.40E+38
double双精度浮点型位有效数字)864-1.79E+3081.79E+308
char字符型216065535
boolean布尔型18

字面值

  • 整型字面值
    • 二进制(BIN)
    • 十进制(DEC)
    • 八进制(OCT):以 0 开头,包括 0-7 的数字(例:037、056)
    • 十六进制(HEX):以 0x 或 0X 开头,包括 0-9 的数字,及字母 a-f(例:0x12、0xabcf)
      • 也可以是 A-F,a 表示数字 10,以此类推
      • 后面加 L 表示长整型数据
  • 浮点型字面值
    • float 类型需要在字面值后加 fF
    • 默认情况下表示 double 类型,也可在字面值后加 dD
  • 字符型字面值
    • 用单引号内的单个字符表示('a'、'b'、'c'、'$')
    • 值可以是 ASCLL码 的编号
      • 如果字面值超出 char 类型所表示的数值范围,需要进行强制类型转换
  • 布尔型字面值
    • true
    • false
  • 字符串字面值
    • 双引号引起来的 0 个或多个字符

基本数据类型变量的存储

  • 按作用范围分类
    • 类级
    • 对象实例级
    • 方法级(局部变量)
      • 存储在
    • 块级

类型转换

自动(隐式)类型转换

下图箭头相反方向均需要强制类型转换

  • byteshortchar 三种类型变量之间随意组合做运算,结果均为 int 类型

强制类型转换

如果 A 类型的数据表示范围比 B 类型大,则将 A 类型的值赋值给 B 类型,需要强制类型转换

// 转换格式
long num1 = 10L;
int num2 = (int) num1;
上次编辑于:
贡献者: sunzhenyang