Plain's Blog

休想打败我的生活🔥

  1. 1. 分类
  2. 2. 算术运算符
    1. 2.1. 认识
    2. 2.2. 分类
  3. 3. 关系运算符
    1. 3.1. 分类
  4. 4. 位运算符
    1. 4.1. 认识
    2. 4.2. 分类
  5. 5. 逻辑运算符
    1. 5.1. 认识
    2. 5.2. 分类
    3. 5.3. 短路逻辑运算符
  6. 6. 赋值运算符
    1. 6.1. 分类
  7. 7. 条件运算符
    1. 7.1. 认识
    2. 7.2. 写法
    3. 7.3. 应用
  8. 8. instanceof运算符
    1. 8.1. 认识
    2. 8.2. 格式

分类

  • 算术运算符

  • 关系运算符

  • 位运算符

  • 逻辑运算符

  • 赋值运算符

  • 其他运算符

算术运算符

认识

算术运算符运用在数学表达式中

分类

操作符 描述 例子
+ 加法 - 相加运算符两侧的值 A + B 等于 30
- 减法 - 左操作数减去右操作数 A – B 等于 -10
* 乘法 - 相乘操作符两侧的值 A * B等于200
/ 除法 - 左操作数除以右操作数 B / A等于2
取余 - 左操作数除以右操作数的余数 B%A等于0
++ 自增: 操作数的值增加1 B++ 或 ++B 等于 21
自减: 操作数的值减少1 B– 或 –B 等于 19
  • 前缀自增自减法(++a,–a): 先进行自增或者自减运算,再进行表达式运算
  • 后缀自增自减法(a++,a–): 先进行表达式运算,再进行自增或者自减运算

关系运算符

分类

设 A = 10,B = 20

操作符 描述 例子
== 检查如果两个操作数的值是否相等,如果相等则条件为真 (A == B)为假 (非真)
!= 检查如果两个操作数的值是否相等,如果值不相等则条件为真 (A != B) 为真
> 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 (A> B) 非真
< 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 (A <B) 为真
>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真 (A >= B) 为假
<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真 (A <= B) 为真

位运算符

认识

Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。

位运算符作用在所有的位上,并且按位运算。

假设a = 60,b = 13;它们的二进制格式表示将如下:

1
2
A = 0011 1100
B = 0000 1101

分类

下表的 I 为 |

操作符 描述 例子
& 或 如果相对应位都是1,则结果为1,否则为0 (A&B),得到12,即0000 1100
I 与 如果相对应位都是0,则结果为0,否则为1 (A I B)得到61,即 0011 1101
^ 异或 如果相对应位值相同,则结果为0,否则为1 (A ^ B)得到49,即 0011 0001
按位取反运算符翻转操作数的每一位,即0变成1,1变成0 (〜A)得到-61,即1100 0011
<< 按位左移运算符。左操作数按位左移右操作数指定的位数 A << 2得到240,即 1111 0000
>> 按位右移运算符。左操作数按位右移右操作数指定的位数 A >> 2得到15即 1111
>>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充 A>>>2得到15即0000 1111

逻辑运算符

认识

下表列出了逻辑运算符的基本运算,假设布尔变量A为真,变量B为假

分类

下表的 I 为 |

操作符 描述 例子
&& 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真 (A && B)为假
II 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真 (A II B)为真
! 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false !(A && B) 为真

短路逻辑运算符

当使用与逻辑运算符时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了

1
2
3
4
5
6
7
8
public class LuoJi{
public static void main(String[] args){
int a = 5;//定义一个变量;
boolean b = (a<4)&&(a++<10);
System.out.println("使用短路逻辑运算符的结果为"+b);
System.out.println("a的结果为"+a);
}
}

运行结果为

使用短路逻辑运算符的结果为false
a的结果为5

解析

该程序使用到了短路逻辑运算符(&&),首先判断 a<4 的结果为 false,则 b 的结果必定是 false,所以不再执行第二个操作 a++<10 的判断,所以 a 的值为 5。

赋值运算符

分类

下表的 I 为 |

操作符 描述 例子
= 简单的赋值运算符,将右操作数的值赋给左侧操作数 C = A + B将把A + B得到的值赋给C
+= 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 C += A等价于C = C + A
-= 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 C -= A等价于C = C - A
*= 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 C *= A等价于C = C * A
/= 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 C /= A等价于C = C / A
(%)= 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 C%= A等价于C = C%A
<<= 左移位赋值运算符 C << = 2等价于C = C << 2
>>= 右移位赋值运算符 C >> = 2等价于C = C >> 2
&= 按位与赋值运算符 C&= 2等价于C = C&2
^= 按位异或赋值操作符 C ^ = 2等价于C = C ^ 2
I = 按位或赋值操作符 C I= 2 等价于C = C I 2

条件运算符

认识

条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量

写法

1
variable x = (expression) ? value if true : value if false

应用

1
2
3
public static boolean Test(int a, int b) {
return (a == b) ? true : false;
}

instanceof运算符

认识

该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)

格式

1
(Object reference variable) instanceof (class/interface type)

本文作者 : Plain
This blog is under a CC BY-NC-SA 3.0 Unported License
本文链接 : https://plain-dev.com/java-operator/

本文最后更新于 天前,文中所描述的信息可能已发生改变