Java的运算符

1、算术运算符:正号(+)、负号(-)、加(+)、减(-)、乘(*)、除(/)、取模(余)(%)、前加加(++5)、后加加(5++)、前减减(--5)、后减减(5--)、连接符号(+)

注意:

① 除法:若除数和被除数都是整型,但想要结果为浮点型,那么可以将除数或被除数变成浮点型即可。

② 取模:结果的符号与被模数的符号相同。开发中,经常用来判断能否整除的情况。

③ 前加加、前减减(例如:num2 = ++num 或 num2 = --num):先自增/自减1,再运算。

④ 后加加、后减减(例如:num2 = num++ 或 num2 = num--):先运算,再自增/自减1。

自增/自减不会改变变量的数据类型。

2、赋值运算符:使用“ = ”表示。

若想变量实现+2的操作,方法有:num += 2; 或 num = num + 2;

若想变量实现+1的操作,方法有:num += 1; 或 num = num + 1; 或 num++;

3、比较运算符:“==”, “!=”, “>”, “<”, “>=”, “<=”, “instanceof(检查是否是类的对象)”。

注意:① 比较运算符的结果是布尔类型;② 区分比较运算符的 “==” 和 赋值运算符的 “=”

4、逻辑运算符::&(逻辑与)、&&(短路与)、|(逻辑或)、||(短路或)、!(逻辑非:取反)、^(逻辑异或:例如:两个变量a、b结果不一样的时候为true,否则为false)

注意:

① 若 “&” 运算符左右是数字的时候,此时是表示位运算符;

② 区分 “&”(逻辑与) 和 “&&”(短路与):当符号左边结果是true时,二者都会执行符号右边的运算;当符号左边结果是false时,“&” 会继续执行符号右边的运算,而 “&&” 不再执行符号右边的运算(即短路了)。相同点是:“&” 和 “&&” 的最终结果相同。

③ 区分 “|”(逻辑或) 和 “||”(短路或):当符号左边结果是false时,二者都会执行符号右边的运算;当符号左边结果是true时,“|” 会继续执行符号右边的运算,而 “||” 不再执行符号右边的运算(即短路了)。相同点是:“|” 和 “||” 的最终结果相同。

小提示:开发中推荐使用短路与(&&)和短路或(||),逻辑非(!)根据实际情况使用,逻辑异或(^)基本不用。

5、位运算符:“<<”(左移), “>>”(右移), “>>>”(无符号右移),“&”(与),“|”(或),“^”(异或)

左移:每向左移1位,相当于被移的数字×2。

右移:每向右移1位,相当于被移的数字÷2。

注意:

① 位运算符操作的都是整型的数据。

② 右移(>>)的时候,如果最高位是0,则拿0补齐;如果最高位是1,拿1补齐。

③ 无符号右移(>>>)的时候,不管最高位是0还是1,都拿0补齐。

④ 使用与(&)、或(|)和异或(^)符号进行位运算时,把二进制数上的数字0看成false,1看成true来进行计算。(例如:把 “00000111” 和 “11100011” 进行与(&)运算,结果是:00000011)

6、三元(目)运算符: (条件表达式) ? 表达式1 : 表达式2

含义:条件表达式为true时,执行表达式1;条件表达式为false时,执行表达式2。

注意:

① 表达式1和表达式2的数据类型要求是一致的。

② 三元运算符可以嵌套使用。

③ 凡是使用三元运算符的地方,都可以改成if-else语句。反之不一定。

④ 如果有既可以使用三元运算符,又可以使用if-else语句的地方,优先选择三元运算符。原因:简洁,执行效率高。

7、运算符优先级:最简单一句话,需要优先运算的地方(代码),加小括号即可。

posted @ 2022-06-22 09:01  萧若風  阅读(78)  评论(0编辑  收藏  举报