java中的类型转换

类型转换

  自动类型转换
  表达式自动类型转换
  强制类型转换

自动类型转换

什么是自动类型转换?类型范围小的变量,可以直接赋值给类型范围大的变量。

为什么需要自动类型转换? 存在不同类型的变量赋值给其他类型的变量

byte a = 12 ;
int b = a;
System.out.println(b); // 12

 可以自动类型转换层级

表达式自动类型转换

在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算。
byte 、short、char -> int ->  long -> float -> double

注意:

表达式的最终结果类型由表达式中的最高类型决定。
在表达式中,byte、short、char 是直接转换成int类型参与运算的
案列:

强制类型转换

什么是强制类型转换? 可以强行将类型范围大的变量、数据赋值给类型范围小的变量
语法:
数据类型 变量2 = (数据类型)变量1、数据

问题 :

强制类型转换可能造成数据(丢失)溢出; 
浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。 
案列:

 

posted @ 2023-07-05 23:39  lanwf  阅读(24)  评论(0编辑  收藏  举报