首页 > 其他 > 详细

类型转换

时间:2021-04-24 12:20:34      阅读:9      评论:0      收藏:0      [点我收藏+]

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

低------------------------------------------------->高

byte,short,char -> int -> long -> float -> double

运算中不同类型的数据要先转化为同一类型之后再运算

int i=128;
byte b=(byte)i;//内存溢出(强制转换)
//强制转换 (类型)变量名 高-->低
//自动转换 低-->高
int y=128;
double d=i;(低到高,自动类型转换
/*
注意点:
1,不能对布尔值进行转换(boolean单位为位)
2,不能把对象类型转换为不相干的类型
3,在把高容量转换到低容量的时候,强制类型转换
4,转换的时候可能存在内存溢出或者精度问题
*/
//精度问题
System.out.println((int)56.8);//输出56
System.out.println((int)52.45f);//输出52
字符类型
char n=‘a‘;
int o=n+1;
System.out.println(o);//98
System.out.println((char)o);//b

//操作较大的数的时候,注意溢出问题
//数字之间可以用下划线分割,且不会被输出
int money=10_0000_0000;
int years=20;
int total=money*years;
System.out.println(total);//-1474836480,计算溢出
long total2=money*years;
System.out.println(total2);//-1474836480,默认是int,转换之前已经存在问题了
//如何解决?
long total3=money*(long)years;//先把一个数转换为long
System.out.println(total3);


类型转换

原文:https://www.cnblogs.com/bronya187/p/14696279.html

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