Java基础——八种基本数据类型&取值范围
一名学生的日常总结
计算机界专有名词:**四类八种**
四类八种·
- 整型:byte、short、int、long;
- 浮点型: float、double
- 布尔型: boolen
- 字符型: char
一名菜菜的详细拆解:往下看!(什么占几个字节啦,对应包装类啦,巴拉巴拉~~~)
整型:
- byte:1字节, Byte (包装类) -128 ~ +127
- short : 2字节, Short -32768 ~ +32767
- int: 4字节, Integer
- long: 8字节 Long
浮点型:
-
float: 4字节 Float 声明赋值是常量尾部加f,如果不加常量默认为double,举个栗子:float test =100.123 (默认为double) 100.123f。
float变量在存储float型数据时默认保留8位有效数字,从第一个数字算起
float a = 1234.12345678f 有效部分为 1234.1234; -
double :8字节 Double 默认保留16位有效数字从第一个数字算起
-
注意! 当0.0123这种格式从小数点后第一个数字算起!!!
字符型: -
char :2字节 Character 0~65535
布尔型: Boolen(包装类)
- boolean:(歧义)boolean类型,理论上占八分之一个字节,因为他只有两个值,一个true一个false,用一个0和一个1就可以表示了,但是Java中并没有明确定义Boolean类型的大小.一般就认为Boolean占用一个字节,嗯比较特殊!
基本类型的相互转换
看图
- 从左到右可以自动转换,从右至左需要进行强转;
- boolean类型与其他基本类型不能进行类型的转换(既不能进行自动类型的提升,也不能强制类型转换), 否则,将编译出错。
- byte型不能自动类型提升到char,char和short直接也不会发生自动类型提升(因为负数的问题)。
- 当两个数值进行二元运算时,结果两个数值的大类型靠拢,举个栗子:当float + double 结果为double;但是当对小于int的数据类型(byte, char, short)进行运算时,首先会把这些类型的变量值强制转为int类型进行计算,最后会得到int类型的值。如果想要得到short等值需要强转!
菜菜总结完毕,请大佬指示!!!