强制类型转换:即强制显示的把一个数据类型转换成为另一种类型。会出现精度丢失或者数据溢出的情况。
自动类型转换:数字表示范围小的数字类型可以自动转换为范围大的数据类型。
下面可以看几个例子:
int a = 10; long b=10L;
数据由int类型转换为long类型,数据范围由小到大,自动类型转换(隐式转换):
b = a;
由long类型转换为int类型,数据范围由大到小,需要强转:
a = (int)b;
double数据范围大于int,需要强转,转换后小数点丢失
double d = 12.5;
a = (int) d;
byte 类型转换:
byte b = 100;// 100默认为int类型,byte数据范围是-128~127,100没有超过byte的数据范围可以隐式转换
byte b = (byte) 257; // 257超过byte数据范围,需要强转
类型不兼容转换:编译失败:类型不兼容
flag = true;
a = flag;
flag = a;
网友评论