Java数据类型:
1. 整型:byte、short、int、long、char
1). byte
- 1个字节8位,是最小整数类型。
- 取值范围:[-128~127]。
- 对byte类型进行数字运算时,会自动提升为int类型,如何是double或float等类型,也是自动提升。
- Byte是byte的包装类
2).short
- 16位
- 取值范围:[-2^15~2^15-1]
- 最不常用类型,可以进行赋值运算。
- short类型参与运算的时候,一样被提升为int或者更高的类型
- Short是short的包装类
3). int和Integer
- 32bit
- int: Java原始数据类型,4个字节存储,范围是-2,147,483,648~2,147,483,647,即-2^31~2^31-1。
- Java 8以后,可以使用int类型表示无符号32为整数[0,2^31-1]
- Integer: java.lang.Object类的子类,Integer类在对象中包装了一个基本类型int的值,能在int类型和String类型之间相互转换。
4). long
- 64bit
- 取值范围-2^63~2^63-1
- 默认值是0L
- 若需要计算的数字非常大,如果int不足以容纳,可以使用long类型,如果long也不够,可以使用BigInteger类。
5). char
- 16bit
- 取值范围[0,65535],即[0,2^16-1],从"\u0000"到"\uffff"
- 无符号,默认值为'\u0000'
- 可以表示ASCII字符。
- char ch1 = 88;
- char ch2 = 'A';
2. 浮点型:float、double
1). float
- 使用32bit表示
- 当数值非常大或非常小,会变得不精确
- 数值比long要大,遵循IEEE 754规范
2). double
- 64位
- 数字后面加f或F,则默认是double类型。
- java.lang.Math中的函数都采用double类型
3. boolean类型
- boolean类型只有true和false值,默认是false。
- boolean与0没有任何关系
4.字面值
1). 整型字面值
2). 浮点字面值
3). 字符及字符字面值
4). 特殊字面值
5). 在数值字面值中使用下划线
5. 基本类型之间的转换
1). 自动转换
- int --> float
- long-->float
- long-->double
- float-->double with strictfp
2). 强制类型转换
- 大的转成小的
- byte-->int--->char
3). 赋值及表达式中的类型转换
- 字面值赋值
- 表达式中的自动类型提升
[1]byte/short/char都被提升为int
[2]如果有一个操作数为long,整个表达式都提升为long