Java运算符
1、 字符的‘+’操作
拿字符在计算机底层对应的数值来进行计算的
‘A’→65 A-Z是连续的
‘a’→97 a-z是连续的
‘0’→48 0-9是连续的
算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动提升。
提升规则:
- byte类型,short类型和char类型将被提升到int类型
- 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
等级顺序:byte,short,char→int→long→float→double
2、字符串的‘+’操作
当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算
- “zqy” + 2000
当“+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行
- 1 + 2000 + “zqy”
3、赋值运算符
short s = 10
s += 20;
s=30
在s += 20中, 扩展运算符“+=”隐含了强制类型转换,将short类型转换成了int类型
4、自增自减运算符
++、–
- ++和–既可以放在变量的后边,也可以放在变量的前边
- 单独使用时,++和–无论是放在变量前还是变量后,结果是一样的
- 参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者–
- 参与操作的时候,如果放在变量的前边,后拿变量做++或者–,先拿变量参与操作
5、关系运算符
关系运算符的结果都是Boolean类型,要么是true,要么是false
千万不要把“==”误写成“=”
6、逻辑运算符
- & 逻辑与 a&b,a和b都是true,结果为true,否则为false
- | 逻辑或 a|b,a和b都是false,结果为false,否则为true
- ^ 逻辑异或 a^b,a和b结果不同为true,相同false
- !逻辑非 !a,结果和a的结果正好相反
7、短路逻辑运算符
- 逻辑与&,无论左边真假,右边都要执行
- 短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行
- 逻辑或|,无论左边真假,右边都要执行
- 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行
8、三元运算符
- 格式:关系表达式 ? 表达式1 : 表达式2;
- 返利:a > b ? a : b;
计算规则:
首先计算关系表达式的值
如果值为true,表达式1的值就是运算结果
如果值为false,表达式2的值就是运算结果