在Java中运算符有算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符等,按操作数的数目可分为单目运算符、双目运算符、三目运算符。
一、算术运算符:
1.算术运算符主要用于进行基本的算术运算,如加法、减法、乘法、除法等。
2.Java中常见的算术运算符:
前缀自增自减法(++a;--a):先进行自增或者自减运算,再进行表达式运算。
后缀自增自减法(a++;a--):先进行表达式运算,再进行自增或者自减。
二、关系运算符:
三、位运算符
四、逻辑运算符:
短路逻辑运算符:
当使用与逻辑运算符时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了。
譬如:( one > two ) && ( one < three ) 中,如果能确定左边 one > two 运行结果为 false , 则系统就认为已经没有必要执行右侧的 one < three 。
同理,在( one > two ) || ( one < three ) 中,如果能确定左边表达式的运行结果为 true , 则系统也同样会认为已经没有必要再进行右侧的 one < three 的执行。
1.什么情况下才会发生短路?当前面的值的结果为false时会发生短路;
2.短路到底短路的是什么? 短路的是&&之后所有的计算的过程;
3.如果发生了短路情况,性能比&稍微好一些;
4.&逻辑与 和 &&短路与 从执行的最终结果来看没有任何区别;
5.短路与不一定提高了性能 只有当前面为false的时候才会发生短路 才会提高性能。
6.&逻辑与 可以理解为中文的"和","并且"意思 &前后两个条件必须同时满足 最终才为true。
7. | 逻辑或 可以理解为中文的"或者" | 前后两个条件只要有一个满足 最终就为true。
8. ^逻辑异或 前后两个表达式只要结果不相同 最终结果就为true(专治强迫生)。
9. !逻辑非 可以立即为中文的"不" 将原来的结果取反 。
五、赋值运算符:
六、条件运算符:
条件运算符( ? : )也称为 “三元运算符”。
语法形式:布尔表达式 ? 表达式1 :表达式2
运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值
七、运算符优先级: