自动类型转换(隐式)

  1.特点 :代码不需要进行特殊处理,自动完成。
  2.规则 :数据范围从小到大。

//左边是long类型,右边是默认的int类型,左右不一样
//将右边的int常量,交给左侧的long变量进行存储
//int--> long ,符合数据范围从小到大的要求
long num1 = 100;
System.out.println(num1);

double num2 = 2.5F;
System.out.println(num2)

强制类型转换(显式)

  1.特点 :代码需要进行特殊处理,不能自动完成。
  2.格式 :范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据;

//左边是int类型,右边是long类型,不一样
//long --> int,不是从小到大
//不能发生自动类型转换
//范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据;
int num1 = (int) 100L;
System.out.println(num1)//100

int num2 = (int)777777777777L;
System.out.println(num2);//170532704

int num3 = (int)3.77;
System.out.println(num3);//3 所有小数被舍弃

char zifu = 'A';
System.out.println(zifu + 1);//66 这里的A被当作65处理

注意事项

1.强制类型转换一般不推荐使用,因为有可能发生精度损失,数据溢出。
2.byte/short/char这三种类型都可以发生数学运算,例加法“+”
3.byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型,然后再计算。
4.Boolean类型不能发生数据类型转换

如果觉得我的文章对你有用,请随意赞赏
END
本文作者:
文章标题:数据类型的转换
本文地址:https://c924.cn/index.php/archives/20/
版权说明:若无注明,本文皆天乐Blog原创,转载请保留文章出处。