java的基本类型不是继承于object类的,我的看法是这个主要是为了性能考虑的。
包括:
一、整数类型:
int 4字节 -2147483648 ~ 2147483647 (正好超过20亿)
short 2字节 -32768 ~ 32767
long 8字节 -9223372036854775808 ~ 9223372036854774807
byte 1字节 -128~127
二、浮点数类型
float 4字节 大约±3.40282347E+38F (有效位数为6-7位)
double 8字节 大约±1.79769313486231570E+308 (有效位数为15位)
三、字符型
char 2字节 Unicode编码方案中的字符。
四、逻辑类型
boolean 只有两个值true和false
基本类型都有其包装类型来提供一些操作方法。
基本类型是分配在栈中的,而包装类型和类是分配在堆的。
这里要说的还有一种基本类型void是无法访问的。
注意:
double,float是不精准值类型的,不要用他们做boolean判断。
例如3.1+4.2这种得出的值是不精准的
在java中对于大数和浮点数的运算最好用Decimal等来运算,以保证精度等,float的精度是23为double是24位。
float类型定义时候后缀加上f才表示float,否则会按照double计算
基本类型的包装类型,都可以通过MIN_VALUE和MAX_VALUE来获取该类型的最大最小值。
单引号用来表示char常量,双引号则表示一个字串,他是Java的一个对象,并不是数据类型。
java的基本类型的包装类型都是finally不能被方法覆盖
理解不对请大家指教!
欢迎拍砖!