一、基本数据类型的类型转换
不同的基本数据类型之间进行运算时需要进行类型转换
经验1:boolean类型与其他基本类型不能进行类型的转换(既不能进
行自动类型的提升,也不能强制类型转换), 否则,将编译出错。
经验2:基本数据类型的类型转换主要在赋值运算、算术运算时发生。
转换方式有两种:自动类型转换和强制类型转换
1. 自动类型转换
规则1:如果一个操作数为double型,则整个表达式可提升为double型。
规则2:满足自动类型转换的条件,即:
两种类型要兼容:数值类型(整型和浮点型)互相兼容;
目标类型大于源类型:例如:double 型大于 int 型。
默认转换(从小到大的转换):
byte,short,char—int—long—float—double
byte,short,char相互之间不转换,他们参与运算首先转换为int类型
2.强制类型转换
强制类型转换的语法: (类型名)表达式
例如:
二、关系运算符
注意: ① =为赋值运算符,==为等于运算符
② 关系表达式的结果为布尔值
③ >、<、>=、<=运算符只支持数值类型的数据比较
④ ==、!=运算符支持所有数据数据类型的比较
⑤ >、<、>=、<= 运算符的优先级别高于==、!=
三、boolean(布尔)类型
boolean类型的值就 真:true 假:false 两个值
四、逻辑运算符
五、位运算符
注意:
① 位运算符的操作数都是整型数,包括int、short、long、byte和char
② 位运算符的运算结果也都是整型数,包括int、long
③ 如果操作数是char、byte、short,位运算前其值会自动晋升为int,运
算结果也为int
④ 位运算符对操作数以二进制为单位进行运算
补:想计算一个数大于其的几个2次方就用左移几个值,想计算一个数的一半就用右移一个单位较为简单便捷
六、条件运算符,也称为三目(三元)运算符
七、运算符的优先级
优先级别最低的是赋值运算符
单目运算符包括! ~ ++ --,优先级别高
可以通过()控制表达式的运算顺序,()优先级最高
总体而言,优先顺序为算术运算符 > 关系运算符 > 逻辑运算符
从右向左结合性的只有赋值运算符、三目运算符和单目运算符