数据类型
- 参考 http://www.runoob.com/java/java-basic-datatypes.html
- 变量
- 内置数据类型 八种
- 包装类通用特性
- 除 Integer、Character 其余为首字母大写
- .SIZE 二进制位数
- .MIN_VALUE 最小值
- .MAX_VALUE 最大值
- 数字类型 六种
- 整数(以二进制补码表示)
- byte
8bit 有符号
-128(-2^7)~ 127(2^7-1)- 默认值: 0
- byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一
- short
16bit 有符号
-32768(-2^15)~ 32767(2^15 - 1)- 默认值: 0
- Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一
- int
32bit 有符号
-2,147,483,648(-2^31)~2,147,483,647(2^31 - 1)
- 默认值: 0
- 一般地整型变量默认为 int 类型;
- long
64 位、有符号
最小值是 -9,223,372,036,854,775,808(-2^63)
最大值是 9,223,372,036,854,775,807(2^63 -1)
- 这种类型主要使用在需要比较大整数的系统上;
- 默认值: 0L
- "L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。
- 例子: long a = 100000L,Long b = -200000L
- byte
- 浮点数(不能用来表示精确的值,如货币)
- IEEE 754格式
- float
单精度、32bit- float 在储存大型浮点数组的时候可节省内存空间
- 默认值: 0.0f
- 例子:float f1 = 234.5f
- double
双精度 64bit- 浮点数的默认类型为double类型
- 默认值是 0.0d;
- 例子:double d1 = 123.4。
- IEEE 754格式
- 整数(以二进制补码表示)
- char
单一的 16 位 Unicode 字符
最小值是 \u0000(即为0)
最大值是 \uffff(即为65,535)
- char 数据类型可以储存任何字符,包括汉字
- boolean
- 默认值是 false
- 包装类通用特性
- 引用数据类型
- 在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
- 对象、数组都是引用数据类型。
- 所有引用类型的默认值都是null。
- 一个引用变量可以用来引用任何与之兼容的类型。(多态)
- 例子:Site site = new Site("Runoob")。
- 结构体
- 枚举类型
- 共用体
- 内置数据类型 八种
- 常量
不可变的变量 static final- 常量在程序运行时是不能被修改的。
- 虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量。
- byte、int、long、和short都可以用十进制、16进制以及8进制的方式来表示。
- 当使用常量的时候,前缀 0 表示 8 进制,而前缀 0x 代表 16 进制
- 自动类型转换
- 整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double - 不能对boolean类型进行类型转换
- 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
- 整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。