整数数据类型
- 关键字:byte,short,int(默认),long
- 整型取值均为整数,即正负整数,包括0
- Java默认整数类型为int
- 虽然四个数据类型均为整型,但也有大小之分,byte<short<int<long
byte:1个字节(-128————+127 )
short:2个字节(-32768-----+32767)
int:4个字节(-2的31次方-1------+2的31次方-1)
long:4个字节/8个字节(-2的63次方到2的63次方-1)
浮点数据类型
- 关键字:float(单精度),double(双精度)
- float 和 double 都是表示浮点型的数据类型,它们之间的区别在于精确度的不同
- double 类型比float 类型存储范围更大,精度更高
- 通常的浮点型数据在不声明的情况下都是double型的,如果要表示一个数据时float 型的,可以在数据后面加上 “F”
- 浮点型的数据是不能完全精确的,有时候在计算时可能出现小数点最后几位出现浮动,这时正常的
float:4个字节(单精度浮点数)
double:8个字节(双精度浮点数)
字符数据类型
- 关键字:char
- char类型用于定义字符,字符的值需要用半角单引号括起来
- 多个字符的值用半角双引号括起来,称之为字符串,字符串的关键字是String
- char类型是可以运算的因为char在ASCII等字符编码表中有对应的数值,在Java中,对char类型字符运行时,直接当做ASCII表对应的整数来对待。char的取值范围0~65535。十进制、八进制、十六进制均可。输出字符编码表中对应的字符。
char:1个字节
逻辑(布尔)类型
- 关键字:boolean
- boolean类型数据只允许取值是真(true)或假(false)
- boolean类型适用于逻辑运算,一般用于程序流程控制
- boolean类型一般作为关系运算符的结果展示
boolean:1个字节
基本数据类型转换
整型、浮点型和字符型的数据在混合运算中可以相互转换,这种转换是自动的,类型转换时遵循以下原则:
- 容量小的类型自动转换为容量大的类型,当使用byte、short、char进行计算时,会自动转换成int类型(byte、short、char) -> int -> long -> float -> double
- 容量大的类型转换为容量小的类型时,需要加上强制转换符,但是会造成数据的精度降低
- 有多种类型数据的混合运算时,系统会自动将所有参与运算的类型都转换成容量最大的类型,然后再进行运算
- 数值类型与字符类型混合运算时,字符类型会使用在ASCII等字符编码表中有对应的数值进行运算