要谈显式转换和隐式转换,那么先来看看类型转换的定义:
类型转换:即把数据从一种类型转换成另外一种类型;
PS:在操作系统中,数据都是一系列的位;
隐式转换:
不需要做任何工作,也不需要另外编写代码,即可完成隐式转换;
任何类型A,只要其取值范围在类型B的范围内,类型A的数据就可以隐式转换为类型B,可以理解为“小范围的数据类型”可以隐式转换为“大范围的数据类型”;
这么做的原因,主要是因为,如果把数据放在变量中,而该数据超出了变量的取值范围,则肯定会出问题,所以隐式转换保证了数据在转换前后,“位”上的数据不会发生变化;
显式转换:
明确要求编译器将数值从一种类型转换成另外一种类型,因此,显式转换需要另外编写代码;显式转换类似于:虽然系统对这么做提出了警告,但我仍然想这么做,并且,我对这么做的后果负责;我的理解就是显式类型转换就是强制类型转换;
显式转换方法:
在需要显式转换变量前在“()”中写入期望转换的类型;
即:int a = 0;
short b = 0;
// 将变量a显式类型转换成short 并赋值给b,编码如下;
b = (short)a;
显式类型转换过程中,最重要是了解是否存在数据丢失的情况,如果存在数据丢失的情况,就会发生严重的后果;
之前遇到的问题为:计算两个坐标点之间的距离,由于两点间距离变量存在显式类型转换,在转换后的数据丢失,所以导致计算结果错误;
笔记:显式转换和隐式转换
最新推荐文章于 2024-04-09 22:10:55 发布