Java 2 -- 数据类型间的转换

深碍√TFBOYSˉ_ 2023-07-05 13:16 27阅读 0赞

自动转换

转换规则就是小数据类型变成大数据类型,但大数据类型的精度有时会被破坏,如下:

  1. // 定义各种数据类型
  2. int i = 123;
  3. char c1 = 22; // 表示一个整数
  4. char c2 = 'c';
  5. byte b = 2;
  6. // 自动转换的数据类型
  7. int n = b;
  8. long l = i;

强制转换

明明不能自动转换,而强制性地进行转换。

  1. // 定义数据类型
  2. int i = 22;
  3. long L = 33;
  4. // 强制转换
  5. char c = (char)i;
  6. int n = (int) L;

注意:强制转换类型是会丢失精度的,经常会发生转换之后数据发生变换的情况。但是在一些必要的地方又必须进行强制类型转换。所以要谨慎和准确地使用强制类型转换。

隐含转换

隐含转换和自动转换很相似,Java 虚拟机根据数据类型的位数来判断此数据类型是否能装载此数据,如果能,Java 就默认进行了转换,如下:

  1. byte b = 111;
  2. int i = 222;
  3. byte c = (byte) i;

上面语句中有两个转换,一个是 111 转换成 byte 类型的数据库,因为 byte 类型的数据位数能装下 111,所以能进行转换,这就是隐含转换。把值为 222 的变量 i 转换成 byte 类型的变量 c 就不能进行隐含转换,因为能进行隐含转换的只能是常量而不能是变量。

发表评论

表情:
评论列表 (有 0 条评论,27人围观)

还没有评论,来说两句吧...

相关阅读

    相关 各种类型转换

    String s = String.valueOf( value); // 其中 value 为任意一种数字类型。   字符串型转换成各种数字类型:   String s...