数据类型转换
类型转换分为:强制(显式)转换、隐式转换
那么什么时候显式转换?什么时候隐式转换呢?
我们这里把各种数据类型形象比喻成大小不同的水杯,当小水杯里的水往大水杯里面倒时,自然不用考虑容量问题,称为隐式转换;而大水杯的水往小水杯里面倒时,就要考虑容量问题了,所以此时就需要强制(显式)转换。
通常转换数据的类型有七种:
char,byte,short,int,long,float,double
下面我们通过程序来确定几种数据类型的相互转换关系:
byte隐式转换为short类型
byte byte3=10;
short short3;
short3=byte3;
short显式转化为byte类型
short short4=10;
byte byte4;
byte4=(byte)short4;
由上可知,除char以外类型,可遵循数据内存顺序进行转换
byte --> short --> int --> long --> float --> double
按照箭头方向是自动转换,反之需要强制转换
在这里着重介绍一下char类型与其他类型之间的转换关系
char隐式转换为int类型
char char1='你';
int int1;
int1=char1;
int强转char
int int2=4;
char char4;
char4=(char)int2;
char类型强转byte
char char2='大';
byte byte1;
byte1=(byte)char2;
byte类型强转char
byte byte2=10;
char char3;
char3=(char)byte2;
short强转char
short short1=11;
char char5;
char5=(char)short1;
char类型强转short
char char6='小';
short short2;
short2=(short)char6;
由上可推出:
char向int以及之后的高等级数据类型遵循自动转换的原则
char和byte、short需要相互强制转换