天天看点

java基本数据类型的转换自动类型转换强制类型转换

java基本数据类型的转换

  • 自动类型转换
  • 强制类型转换

自动类型转换

java基本数据类型的转换自动类型转换强制类型转换

举例:多种不同的数据类型的一起运算

java基本数据类型的转换自动类型转换强制类型转换

解释:有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那个数据类型,然后再进行计算。

举例:单个字符类型与数据类型的一起运算

java基本数据类型的转换自动类型转换强制类型转换

解释:ASCII码(上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一的规定。这被称为ASCII码。ASCII码一共规定了128个字符的编码,比如空格"space"是32(二进制00100000)),大写的字母A是65(二进制01000001)

char类型的数据在数字进行数学运算的时候,它是转换为对应的ASCII码的值然后再进行的计算

所以也不难理解字符与数值相加的结果是一个数值了。

举例:字符串类型与数据类型的一起运算

java基本数据类型的转换自动类型转换强制类型转换

解释:当把任何基本类型的值和字符串进行连接运算的时候(+),基本类型的值将自动转化为字符串类型。

为了大家加深理解,再看一个例子

java基本数据类型的转换自动类型转换强制类型转换

解释:前面是纯数字,所以可以相加,但是后又遇见了"hello"字符串,再由加号就是字符串拼接

java基本数据类型的转换自动类型转换强制类型转换

强制类型转换

java基本数据类型的转换自动类型转换强制类型转换
java基本数据类型的转换自动类型转换强制类型转换

数字类型的运算规则:

①有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型。然后再进行计算。数字类型的从小到大分别是byte,int,long,float,double.

②数字类型的运算中,多个相同类型变量参与的运算,变量要先转换为相对应的数据类型的默认类型(比如两个byte类型的变量相加,会先把两个byte类型的变量转换默认的int类型之后再计算,得到的结果是int类型)。这种情况适用于变量的数据类型的容量比默认类型的容量小,(比如byte,short,都比int小)

③byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。

记录自己最近学习到的东西,做一个总结,希望大家喜欢,一起加油!