Java的数据类型-八种基本数据类型和引用数据类型

八种基本数据类型表示范围如下:

类型占用空间取值范围
byte(字节型)1字节-128~127
short(短整型)2字节-2^15~2^15-1
int(整型)4字节-2^31~2^31-1 约21亿
long(长整型)8字节-2^63~2^63-1
float(单精度)4字节-3.4028234*10^38~3.4028234*10^38
double(双精度)8字节-1.797693*10^308~1.797693*10^308
char(字符型)1字节0~65535
boolean(布尔型)1或4字节false、true
其中,整数类型(byte,short,int,long)和浮点型(float,double)统称为数值型,char成为字符型,boolean成为布尔型。

ps:

long型数值赋值的时候后跟‘L’

float的尾数有效数字为7位。

浮点数值默认类型位double型,如果想要float类型的数据,需要在后面添‘F‘或’f‘。

可以采用科学计数法表示,形式为:数值e指数 或 数值E指数(指数是指10的幂次)


char采用Unicode字符集(C++采用的是ASCII码)。

JVM规范指出boolean当做int处理,也就是4字节,boolean数组当做byte数组处理,占1字节,这是为了便于JVM处理。实际上,boolean有效位只有1bit就足够了。

-------------------------------------------

自动类型转换:容量小的类型可以自动转换为容量大的类型。

byte->short->int->long

float->double

char->int,int->double这些不但可以自动转换,而且不会损失精度。

而int->float,long->float,long->double则可能会损失精度。


强制类型转换:将一个类型强制转换为另一个类型,那么如果我们强转的数值超过了强转后的类型的表示范围,就会出现异常数值。所以我们在使用强转的时候,要注意一下值的取值范围。

ps:运算表达式中,有多个类型的数值,会自动提升为范围较广的数值类型。

----------------------------------------------

引用数据类型,包括类的引用,接口的引用,数组的引用。

所有数值型数据都是带符号数。JAVA中如果没有初始化就会赋一个默认值(数值-0,引用类型-NULL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值