【JavaSE】运算符

文章目录

  • 1.算术运算符
  • 2. 关系运算符
  • 3.逻辑运算符
    • 3.1逻辑与 &&
    • 3.2逻辑或 ||
    • 3.3 逻辑非 !
    • 3.4⭐短路求值
  • 4.位运算符
  • 5.移位操作符

【JavaSE】运算符_第1张图片

Java中的运算符与C语言大同小异,具体可以对比熟悉。

1.算术运算符

  1. 基本四则运算符:加减乘除模(+ - * / %)

注意:
都是二元运算符,使用时必须要有左右两个操作数
int / int 结果还是int类型,而且会向下取整
做除法和取模时,右操作数不能为0
% 不仅可以对整形取模,也可以对double类型取模,但是没有意义,一般都是对整形取模的(区别于C语言)
两侧操作数类型不一致时,向类型大的提升

2.增量运算符 += -= *= %=
3. 自增/自减运算符 ++ –
注意前置++和后置++的区别
如果单独使用,两者没有区别。
【JavaSE】运算符_第2张图片

2. 关系运算符

关系运算符主要有六个: == != < > <= >= ,其计算结果是 true 或者 false
多次判断时,不能连着写,比如:3 < a < 5

3.逻辑运算符

3.1逻辑与 &&

语法规则:表达式1 && 表达式2,左右表达式必须是boolean类型的结果。
【JavaSE】运算符_第3张图片

3.2逻辑或 ||

语法规则:表达式1 || 表达式2,左右表达式必须是boolean类型的结果。
【JavaSE】运算符_第4张图片
注意:左右表达式至少有一个位真,则结果为真

3.3 逻辑非 !

语法规则:! 表达式

3.4⭐短路求值

对于 && , 如果左侧表达式值为 false, 则表达式结果一定是 false, 无需计算右侧表达式.

对于 ||, 如果左侧表达式值为 true, 则表达式结果一定是 true, 无需计算右侧表达式.

& 和 | 如果表达式结果为 boolean 时, 也表示逻辑运算. 但与 && || 相比, 它们不支持短路求值.

4.位运算符

位运算符主要有四个: & | ~ ^ ,除 ~ 是一元运算符外,其余都是二元运算符。
(详见C语言)操作符详解

5.移位操作符

移位运算符有三个: << >> >>> (区别于C语言),都是二元运算符,且都是按照二进制比特位来运算的。
无符号右移 >>>: 最右侧位不要了, 最左侧补 0.
注意:

  1. 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.
  2. 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.
  3. 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.
  4. 移动负数位或者移位位数过大都没有意义.
    【JavaSE】运算符_第5张图片

你可能感兴趣的:(JavaSE,java)