类型转换
- 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
字节大小(容量)->
低--------------------------------------------->高
byte,short,char -> int -> long -> float -> double
- 小数的优先级一定大于整数
- 运算中,不同类型的数据先转化为同一类型,然后再进行运算
强制类型转换
- 数据类型从高到低转换则为强制转换 (类型)变量名
- 数据类型从低到高转换则为自然转换,不需要添加任何字符
//强制转换
int i = 128; //128
byte b = (byte) i; //-128
double c = i; //128.0
//精度问题
System.out.println((int)23.7); //23.7
System.out.println((int) -45.8f); //-48.8
//类型转换
char d = 'a';
int e = d+1;
System.out.println(e); //98
System.out.println((char) e); //b
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换为低容量时,需要进行强制转换
- 转换过程中可能出现内存溢出,或者精度问题
int mon = 1000000000;
int mon1 = 10_0000_0000;
int year = 20;
int total = mon*year;
System.out.println(mon); //1000000000
System.out.println(mon1); //1000000000
System.out.println(total); //超出类型容量,为-1474836480
long total1 = mon*(long)year;//将数据类型转换成更高数据类型,并在后面单位添加该类型
System.out.println(total1); //输出正常,20000000000
-
如果数值超出类型数据容量,则会内存溢出,并随机输出值
-
操作比较大的数值时,注意溢出问题
-
JDK新特性,数值比较大时,可以用下划线分割,每4位分割
声明:本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。