各种类型数据混合运算问题
数据类型对计算结果的影响:
- 两种不同的类型的数据运算,会产生不同的结果。
- 每个类型都有确定的取值范围,超出该范围的值无法在这个类型中表示。
- 两个同类型的对象集散结果仍是这个类型的值,但计算结果完全可能超出该类型的表示范围,这种情况称为
溢出
。
混合类型的计算和类型自动转换
①若参与运算量的类型不同,则先转换成同一类型,然后进行运算
②转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算
-
a、若两种类型的字节数不同,转换成字节数高的类型
-
b、若两种类型的字节数相同,且一种有符号,一种无符号,则转换成无符号类型
③所有的浮点运算都是以双精度进行的,即使是两个float单精度量运算的表达式,也要先转换成double型,再作运算.
④char型和short型参与运算时,必须先转换成int型
⑤在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。
⑥ 如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。
强制类型转换运算符
强制类型转换运算符:将一个表达式转换成所需类型。
其一般形式:
(类型名)(表达式)
需要说明:
- 在强制类型转换时,得到一个所需类型的中间变量,原来的变量的类型未发生改变。
- 注意格式
(括号)
- 表达式应该用括号括起来
例如: (int)x+y #将x转换为整型,然后与y相加
运算符和表达式
本章重点:记忆运算符、 运算符的优先级与结合性
算数运算符和算数表达式
基础的算数运算符
+
(加法运算符,或正直运算符)-
(减法运算符,或赋值运算符)*
(乘法运算符)/
(除法运算符)%
(模运算符,或称为求余运算符)
赋值运算符(=)和赋值表达式
①.赋值符号"=
"就是赋值运算符,它的作用是将一个数据赋值给一个变量,也可以将一个表达式的值赋值给一个变量。
②.赋值运算符为右结合
③.优先级:算数 > 赋值
④.由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式
一般形式: 变量=表达式
⑤.赋值表达式"=
"的左边一定是变量,不能是常量或者表达式。
⑥复合的赋值运算符
- 在赋值符"
=
“之前加上其他运算符,可以构成复合的运算符。如果在”=
“前加一个”