[java基础揉碎]关系运算符(比较运算符)逻辑运算符赋值运算符三元运算符运算符的优先级
关系运算符一览
细节说明
1) 关系运算符的结果都是boolean型,也就是要么是true,要么是false。
2) 关系运算符组成的表达式,我们称为关系表达式。a > b
3) 比较运算符"=="不能误写成"=''
逻辑运算符
用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值。
逻辑运算符一览
1)短路与&&,短路或||,取反!
2)逻辑与&,逻辑或|,^逻辑异或
逻辑运算规则
1.a&b:& 叫逻辑与:规则:当a和b同时为true,则结果为true,否则为false
2.a&&b:&&叫短路与:规则:当a和b同时为true,则结果为true,否则为false
3.a|b:|叫逻辑或,规则:当a和b,有一个为true,则结果为true,否则为false
4.a||b:‖ 叫短路或,规则:当a和b,有一个为true,则结果为true,否则为false
5.!a:叫取反,或者非运算。当a为true,则结果为false,当a为false是,结果为true
6.a^b:叫逻辑异或,当a和b不同时,则结果为true,否则为false
示例:
&&和& :
短路与: 如果第一个就为false后面不会判断, 可看到自增没有生效
逻辑与: 如果第一个为false后面仍然会判断, 可看到自增生效
||和| :
短路或: 如果第一个就为true后面不会判断, 可看到自增没有生效
逻辑或: 如果第一个为true后面仍然会判断, 可看到自增生效
^异或:
异或关系表达式时:
左边为true, 右边为true 结果为true异或就为fasle
左边为true, 右边为false 结果为false异或就为true
赋值运算符
赋值运算符就是将某个运算后的值,赋给指定的变量。
两种:
基本赋值运算符 int a=10;
复合赋值运算符 +=,-=,*=,/=,%=等。
赋值运算符特点
1)运算顺序从右往左 int num=a + b+ c;
2)赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值 int num3 = a; int num2= 78 * 34 - 10 ;int num = 20;
3)复合赋值运算符等价于下面的效果 比如:a+=3;等价于a=a+3;
4)复合赋值运算符会进行类型转换。 byte b = 2; b+=3; b++;
三元运算符
基本语法 条件表达式?表达式1:表达式2;
运算规则:
1.如果条件表达式为true,运算后的结果是表达式1;
2.如果条件表达式为false,运算后的结果是表达式2;
细节:
注意类型:
可以嵌套使用(但是可读性差,因为嵌套执行三次判断效率差):
运算符的优先级
1.运算符有不同的优先级,所谓 优先级就是表达式运算中的运算顺序。如下表,上一行运算 符总优先于下一行。
2.只有单目运算符(如++a只对一个值进行操作运算称之为单目运算)、赋值运算符 是从右向左运算的。
梳理小结:
1)(),{}等
2)单目运行 ++ --
3)算术运算符
4)位移运算符
5)比较运算符
6)逻辑运算符
7)三元运算符
8)赋值运算符