Java8大基本类型以及进制
Java8大基本类型
- byte : 大小:1字节(8位),区间范围:(-128~127)
- short 大小:2字节(16位) ,区间范围:(-32768~32767)
- char 大小:2字节(16位),如果采用"ISO-8859-1"编码,那么一个char只会有一个字节。如果采用"UTF-8"或者"GB2312"、"GBK"等编码格式呢?这几种编码格式采用的是动态长度的,如果是英文字符,大家都是一个字节。如果是中文,"UTF-8"是三个字节,而"GBK"和"GB2312"是两个字节
- int 大小:4字节(32位),区间范围(2147483648~2147483647)
- long 大小:8字节(64位),区间范围(-9223372036854774808~9223372036854774807)
- float 大小:4字节(32位),区间范围(3.402823e+38 ~ 1.401298e-45)
- double 大小:8字节(64位),区间范围(1.797693e+308~ 4.9000000e-324)
- boolean 大小:1位,区间(1 or 0)
数据类型转换
Java 中不同类型的数据进行运算需要先进行类型转换 转换类型的顺序从低到高依次是 byte,short,char -> int -> long -> float -> double 自动类型转换:(从高到低)
int i = 128; byte b = (byte)i;
注意:强制类型转换需要注意内存溢出的问题 强制类型转换:(从高到低)
int i = 128; double d = i;
注意: 1.boolean 类型不能转换 2.浮点数进行大小比较不准确
float f = 0.1f; // 0.1 double d = 1.0/10; // 0.1 System.out.println(f == d); // false // ====================================== float f1 = 2121212121212121213f; float f2 = f1 + 1; System.out.println(f1 == f2); // true
Java中进制表示
// 二进制 0b // 八进制 0 // 十六进制 0x int i0 = 0b10; int i = 10; int i2 = 010; int i3 = 0x10;