首页 > 其他 > 详细

类型转换

时间:2020-04-19 10:15:03      阅读:47      评论:0      收藏:0      [点我收藏+]

在运算中,不同数据类型运算,必须要先转换为相同数据类型,再运算

 

基本数据类型的优先级

有低到高:

byte<short<char<int<long<float<double

 

转换类型

1.强制类型转换

由高到低(由高容量到低容量)

注意:

1.boolean不能强制转换

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

3.由高容量到低容量,强制转换

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

2.自动转换

由低到高,自动转换

 

 

拓展及注意细节

在操作较大数时,在jdk1.7以后,可用下划线(_)来区分位数,便于观看,且输出不会显示下划线

 int i=10_0000_0000;
  System.out.println(i);//1000000000

 

 

 

操作较大的数会存在溢出问题:

int i=10_0000_0000;
int j=20;
int result=i*j;
System.out.println(result);//-1474836480

这时要注意类型转换

int i=10_0000_0000;
int j=20;
long result=i*(long)j;//20000000000
System.out.println(result);

如果是long result=i*j,则不能。

是先将i*j计算出来,结果为int,再将结果强制转换为long,这是结果为-1474836480

类型转换

原文:https://www.cnblogs.com/zgmzbhqa/p/12730161.html

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