Java的世界中有八种基本数据类型,可以分为四个大的部分:
- 整数类型:
类型 位长 数据范围 默认值(作为类的成员变量时) byte 8位 -128~127 0 short 16位 -32768 ~ 32767 0 int 32位 -2^31~2^31-1 (21 亿) 0 long 64位 -2^63~2^63-1 0L Java中的整型未声明时默认都是int类型的,不同的整形之间可以发生类型转换,分为强制类型转换和自动类型转换,由高精度到低精度进行强制类型转换可能会丢失精度。如下面代码所示:
public class DateType { int anInt = 3; byte aByte = anInt;//报错,从高到底必须强制类型转换 byte aByte2 = (byte) anInt;//强制类型转换 long aLong = anInt;//自动类型转换:转换顺序byte -> short ->int->long }
- 浮点类型
类型 位长 数据范围 默认值(作为类的成员变量时) float 32位 3.402823e+38~1.401298e-45 0.0 double 64位 1.797693e+308~4.9000000e-324 0.0 未声明时,Java中浮点型默认时double型的。
public class DateType { float aFloat0 = 0.32;//报错,必须有"F"或者"f"作为后缀,如下面的写法 float aFloat00 = (float) 0.32;//或者强转,也证实默认浮点类型是double float aFloat = 0.32F; float aFloat2 = 0.5643f; double aDouble = 0.32; }
- 字符类型
类型 位长 数据范围 默认值 char 16位 0~65535 空 表示单个字符,Java采用Unicode字符集。
public class DateType { char aChar = 'A'; char aChar1 = '中';//支持中文 int anInt = aChar;//支持自动类型转换,转换成int型 }
- 布尔类型
扩展:类型 位长 数据范围 默认值 boolean 8位 true\false false
Java是面向对象语言,其概念为一切皆为对象,但基本数据类型算是个例外哦,基本数据类型大多是面向机器底层的类型,它是 “值” 而不是一个对象,它存放于“栈”中而不是存放于“堆”中,但Java一切皆为对象的概念不是说说而已,它为每一个基本数据类型都做了相应的包装类,我们日常使用中大多情况下都会使用着这些包装类:
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double
参考文档:https://www.cnblogs.com/dubo-/p/5565677.html