day2——运算符
Ⅰ.类型转换
一、自动类型转换
概念:类型范围小的变量,可以直接赋值给类型范围大的变量
byte–short–int–long–float–double(char–int可以互相转换)
二、表达式的自动类型转换
在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算
byte、short、char–int–long–float–double
注意事项:
- 表达式的最终结果类型由表达式中的最高类型决定
- 在表达式中,byte、short、char是直接转换成int类型参与运算的
三、强制类型转换
可以强行将类型范围大的变量、数据赋值给类型范围小的变量
数据类型 变量2 = (数据类型)变量1、数据
-
强制类型转换可能造成数据(丢失)溢出
-
浮点型强转成整型,直接丢掉小数部分,保留整数返回
Ⅱ.运算符(对字面量或者变量进行操作的符号)
一、基本算数运算符
如果两个整数做除法,其结果一定是整数,因为最高类型是整数(结果取决于第一个数的符号)
二、加符号做连接符
- +与字符串做+运算时会被当成链接符,其结果还是字符串
三、自增自减运算符
++ 和 – 只能操作变量,不能操作字面量
- 单独使用,不管放在前面还是后面都会自增自减
- 非单独使用,==–放在操作数后面,先运算再自增、自减
- ==–放在操作数前面,先自增、自减,再做运算
四、赋值运算符
= += -= *= /= %=
拓展的赋值运算符隐含了强制类型转换
五、关系运算符
== != > < >= <=
对数据进行条件判断的符号,最终会返回一个比较的布尔结果。
六、逻辑运算符
可以把多个条件的布尔结果放在一起运算,最终返回一个布尔值
短路逻辑运算符
七、三元运算符
格式:
条件表达式?值1:值2;