Java中数据类型的转化

Java中的数据类型在定义时就已经确定了,因此不能随意转换为其他数据类型,但是Java允许用户有限度地做类型转换。数据类型的转换分为"自动类型转换"和"强制类型转换"。

工具/原料

  • jdk
  • eclipse/idea

方法/步骤

  1. 1

    首先我们来看自动类型转换。自动类型转换有两个条件:

    (1)转换前后的数据类型兼容;

    (2)转换后的数据类型的范围大于转换前的数据类型。

    因此可以得到如下的自动转换图。

  2. 2

    现在我们看一个例子说明一下自动类型转换的应用。

    代码中,第一行输出为int与float的变量运算,按照自动类型转换,int类型自动转换为float,所以最终的结果也是float类型。

    第二行输出为int与double的常量运算,按照自动类型转换,int类型自动转换为double,所以最终的结果也是double类型。

    第三行输出为两个int的常量运算,不需要做类型的转换,因此结果也是一个int常量。

  3. 3

    实测的输出如下,与我们的推断相同。

  4. 4

    对于强制类型转换,使用的格式如下:

    (要转换的数据类型)变量名称,转化的方法则是舍弃掉小类型不存在的位数。

    这种强制类型的转换是在程序代码中完成的,因此称为显式转换。以下的程序说明了如何在整数与浮点数之间转换。

  5. 5

    其中x是将float型强制转换为int型,舍弃掉了小数部分,应该得到30

    10/3是两个int类型相除,应该得到整数,而使用强制类型转换后将10转为float常量,那么结果就应该是float类型。

  6. 6

    实际上,还存在一种自动的转换,即所有类型都向String类型转换。String是一个Java内置的字符串类,将一系列字符序列用双引号""引起来,用来表达一系列char类型的字符的序列。基本类型与String类用+连接就会自动转为String类(实际上我们已经使用过了)。如下是字符串与基本类型用+连接的示例。

  7. 7

    我们可以看出,+可以连接两个字符串。而且,只要字符串与其他类型相加就会自动转化为字符串类型。例如int类型的30就会转为字符串"30",然后再和str相连接。下面的字符串常量也是同样的道理。我们可以使用一个空字符串+一个任意类型将它转换为字符串类型(后面有更简介的办法)。

  8. 8

    我们可以看到:这样就把其他基本类型转化为String类型了。

  • 发表于 2018-02-11 00:00
  • 阅读 ( 567 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

联系我们:uytrv@hotmail.com 问答工具