数据类型的转换

本文介绍了Java中的数据类型转换,包括强制类型转换(高到低)和自动类型转换(低到高)。强调了在转换过程中需要注意的规则,如不能对布尔型转换以及在高容量转低容量时可能出现的内存溢出。通过示例展示了计算时溢出的问题,并提出了解决方案——在计算同时进行强制类型转换以避免溢出。
摘要由CSDN通过智能技术生成

数据类型的转换

由于Java属于强类型语言,所以在进行运算的时候需要用到类型转换,将不同类型转化为同一类型再进行预算

运算分为两种:

强制类型转换

自动类型转换


强制类型转换是指从高到底的转换

int i =128;
byte b = (byte)i;//byte最大值为127出现内存溢出
        //将int转化为byte的这个过程叫做强制转换(类型)变量名 从高—>低

而自动类型转换则是从低到高的转换

double c = i;
 //自动转换 低—>高不需要像b的转换一样要加上类型名

而在数据转换中需要特别注意

  1. 不能对布尔型进行转换
  2. 不能把对象的类型转换为不相干的类型
  3. 在把高容量转换到低容量的时候,强制转换
  4. 转换的时候可能存在内存溢出,或者精度问题

关于计算的溢出:

int money = 10_0000_0000 ;//JDK7特性,数字之间可以用下划线分割
int year = 20;
int total = money*year;//-1474836480,计算时溢出了
long total2 = year*money;//-1474836480,year*money的结果已经默认为int类型 在转换之前就已经溢出了
long total3 = year*(long)money;
System.out.println(total2);
System.out.println(total3);

由此可知,为了防止计算的溢出,应当在计算的同时对数据进行强制转换

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值