自用学习笔记——Java 数据类型转换知识

为什么要有数据类型的转换?

这是因为在一个项目中,不可能所有的数据都使用一样类型的变量,当你接收到的变量类型和需要使用的变量类型不同时,这时候就需要进行数据类型的转换

数据转换顺序:

byte → short → int→ float → double → long

小变量类型转换成大变量类型

byte a = 10;
int b = a;

char c = 'a';
int d = c;

小字节的变量可以直接被大字节的变量进行接收。char类型的变量可以被int类型的变量接收,char变量的数据会对应编码表的十进制数据进行转换,然后再被int变量接收。

自动转换在表达式中的实际使用

byte a = 1;
int b = 5;
double c = 66.6;
double d = a + b + c;

当有不同类型的变量需要进行计算时,最终接收数据的变量一定要是表达式中最大的变量,否则将会报错。

当byte类型的变量出现在表达式里时,它会直接变成int类型的变量。因为byte作为最小字节的变量,在进行计算时有可能会出现结果超过byte字节取值范围的情况,为了防止出现这种情况导致结果出错,byte会在计算时直接进行改变。所以当只有byte进行计算时,也要使用int类型的变量来进行接收。

byte a = 10;
byte b = 10;
int c = a + b;

强制数据类型转换(大字节变量转小字节变量)

int a = 666;
byte b = (int)a;

当一个大字节变量类型强制转换成小字节变量类型时,数据结果会出现问题。如上图所示,int作为4个字节的变量,在内存中占32位。而byte只有一个字节占8位,所以byte会自动取int变量中的最后8位来进行转换。

而当一个小数类型的变量被转换成整数类型的变量时,它的小数会直接给去掉,会保留它的整数进行转换。(没有四舍五入,就算是99.99也只会保留99)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值