首页 > 编程语言 > 详细

Java数据类型的转换

时间:2021-07-19 17:01:39      阅读:13      评论:0      收藏:0      [点我收藏+]

 

Java数据类型的转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。

  • 运算中,不同类型的数据要先转化为用一类型,然后进行运算,请根据图标进行转换。

技术分享图片

  • 强制转换 高-->低(图中右-->左)

 int i = 120;
 byte b = (byte)i;//强制转换,把int类型转换为byte类型 (需要转换的类型)变量名  
  • 自动转换 低-->高(图中左-->右)

 int i = 120;
 long h = i;//自动转换,把int类型转换为long类型

 

注意点: 1.不能对布尔值进行转换

    2.不能把对象类型转换为不相干的类型

    3.再把高容量转换到低容量的时候,强制转换

    4.转换的时候可能存在内存溢出,或者精度问题

 //1.内存溢出
 int i = 128;
 byte b = (byte)i;
 System.out.println(b);
 //输出的结果为-128,因为byte的内存容量小于128,所以为负数,这就是内存溢出

 //2.精度问题
 System.out.println((int) 23.7);
 //输出结果为23
 System.out.println((int) -45.89f);
 //输出结果为-45

 //1.计算时的内存溢出
 int money = 1000000000;
 int years = 20;
 int day = 10;
 ?
 int total = money*years*day;
 System.out.println(total);
 //输出结果为负数,计算的时候溢出
 ?
 long total2 = money*years*day;
 System.out.println(total2);
 //输出的结果为负数,默认是int,转换之前已经存在问题了
 ?
 long total3 = money*((long)years)*day;
 System.out.println(total3);
 //输出的结果为正确答案,所以只需要先把一个书转换为long就可以解决

 

Java数据类型的转换

原文:https://www.cnblogs.com/LiquorWuYan/p/15030606.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!