0%

数据类型简介

数据类型

八种基本数据类型的默认值

数据类型 大小/位 封装类 默认值 可表示数据范围
byte(位) 8 Byte 0 -128127 (-2^72^7-1)
short(短整数) 16 Short 0 -3276832767 (-2^152^15 - 1)
int(整数) 32 Integer 0 -21474836482147483647 (-2^312^31 - 1)
long(长整数) 64 Long 0L -92233720368547758089223372036854775807 (-2^632^63 -1)
float(单精度) 32 Float 0.0F 1.4E-45~3.4028235E38
double(双精度) 64 Double 0.0D 4.9E-324~1.7976931348623157E308
char(字符) 16 Character null 0~65535
boolean 8 Boolean flase true or false

引用类型

  • 对象, 数组都是引用数据类型
  • 所有引用类型的默认值都是 null

Java 常量

转义字符序列

符号 字符含义
\n 换行 (0x0a)
\r 回车 (0x0d)
\f 换页符(0x0c)
\b 退格 (0x08)
\0 空字符 (0x20)
\s 字符串
\t 制表符
" 双引号
' 单引号
\ 反斜杠
\ddd 八进制字符 (ddd)
\uxxxx 16 进制 Unicode 字符 (xxxx)

自动类型转换

转换从低级到高级 byte,short,char—> int —> long—> float —> double

注意

String 是 final 类, 所以无法被继承

new Integer(100) 中的参数如果是 -128~127 不会 new 新的 Integer 对象, 而是直接引用常量池中的 Integer 对象, 使用 Integer i = 100, i2 = 100, i3 = 150, i4 = 150 中 i == i2, i3 !== i4

用最有效率的方法计算 2 乘以 8: 2 << 3 左移 3 位相当于乘以 2 的 3 次方, 右移 3 位相当于除以 2 的 3 次方