强制(显式)转换、隐式转换

数据类型转换

类型转换分为:强制(显式)转换、隐式转换

那么什么时候显式转换?什么时候隐式转换呢?
    我们这里把各种数据类型形象比喻成大小不同的水杯,当小水杯里的水往大水杯里面倒时,自然不用考虑容量问题,称为隐式转换;而大水杯的水往小水杯里面倒时,就要考虑容量问题了,所以此时就需要强制(显式)转换。
       通常转换数据的类型有七种:
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需要相互强制转换

发布了12 篇原创文章 · 获赞 9 · 访问量 1105

猜你喜欢

转载自blog.csdn.net/qq_38274974/article/details/96142370