初学者王者模式 -- Java数据类型

数据结构中的定义是一组性质相同的值的集合以及定义在这个值集合上的一组操作的总称。
简单理解 : Java对数据进行了分类,存在不同的类型。

1.Java中数据类型的分类

将Java数据类型进行简单的分类,用图来表示:
在这里插入图片描述
在Java1.1中新增了两个数据类型,用于高精度计算的:BigInteger(支持任意精度整数)和BigDecimal(支持任意精度的小数)。
为什么需要数据分类:不同的数据类型占用的存储空间不一样,在面临海量数据计算的时候,可以更好的节约计算机内存空间。

2.基本数据类型的大小及范围

类型大小(Bit/Byte)范围默认值
byte1-128~1270
short2-2^15~ 2^15-10
int4-2^31~ 2^31-10
long8-2^63~ 2^63-10
boolean1true或falsefalse
char2可指定、可动态分配\u0000(空)
float4-2^128~ 2^1280.0
double8-2^1024~ 2^10240.0

默认值:当未定义一个数据类型的值的时候,在计算时系统为为它分配一个默认的值。
long赋值时,因为整数默认是int类型,要转换为long类型的值,后面加上l或L。
float赋值时,因为整数默认是double类型,要转换为float类型的值,后面加上l或L,或者在值的最左边加上(float)。

3.Java数据类型转换

在Java中,boolean类型与所有其他7种类型都不能进行转换。

如下7种数据类型,它们之间都可以进行转换,但是可能会存在精度损失或者其他一些变化:
byte --> short ,char --> int --> long --> float --> double
在这里插入图片描述
1.自动转换
long float double只要两个操作数中有一个是上面类型的,另一个就会被转换成相应类型,并且结果也是该类型:

int  num = 1; 
double a = 11.01;
double b = num + a;
System.out.println(c);

如果2个操作数(包括byte,short,char,int),都将会转换为int类型,并且结果也是int(自动向上转型)。
2.强制转换

int a1=123;
int a2=456; 
float f1 = (float) ((a1+a2)*1.2);//容量大的类型转换为容量小的类型时,要加上强制转换符

需要注意的是:
1). 高转低会导致精度丢失,不同类型的强制转换,可能会导致精度的下降。
2). 实际开发中:应该要知道被强制转换的数据,是在一个已知的范围,且超过范围值会报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值