本篇绝大部分引用(参考)自:https://www.runoob.com/
C++
赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值 | 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 |
|= | 按位或且赋值 | C |= 2 等同于 C = C | 2 |
算术运算符
以A和B的值都是10为例。
运算符 | 描述 | 实例 |
---|---|---|
+ | 把两个操作数相加 | A + B 将得到 30 |
- | 从第一个操作数中减去第二个操作数 | A - B 将得到 -10 |
* | 把两个操作数相乘 | A * B 将得到 200 |
/ | 分子除以分母 | B / A 将得到 2 |
% | 取模运算符,整除后的余数 | B % A 将得到 0 |
++ | 自增运算符,整数值增加 1 | A++ 将得到 11 |
– | 自减运算符,整数值减少 1 | A-- 将得到 9 |
逻辑运算符
- 比较运算符
运算符 | 描述 |
---|---|
== | 检查左是否等于右 |
!= | 检查左是否不等于右 |
> | 检查左是否大于右 |
< | 检查左是否小于右 |
>= | 检查左是否大于等于右 |
<= | 检查左是否小于等于右 |
- 逻辑运算符
以A为1、B为0为例。
运算符 | 描述 | 实例 |
---|---|---|
&& | 逻辑与 | (A && B) 为 false |
|| | 逻辑或 | (A || B) 为 true |
! | 逻辑非 | !(A && B) 为 true |
位运算符
运算符 | 描述 | 用法 |
---|---|---|
& | 按位与 | p & q |
| | 按位或 | p | q |
^ | 按位异或 | p ^ q |
~ | 按位取反 | ~ p |
<< | 二进制左移 | p << 2 |
>> | 二进制右移 | p >> 2 |
运算规则
p | q | p & q | p | q | p ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
其他运算符
运算符 | 描述 | 举例 |
---|---|---|
sizeof | sizeof 运算符返回变量的大小。 | a为int型,sizeof(a)返回4 |
Condition ? X : Y | 条件运算符。如果 Condition 为真 ? 则值为 X : 否则值为 Y。 | 3>5?3:5,返回5,取两数更大者的常用操作 |
. | 成员运算符,用于类或结构体的实例。 | string s = “abc”; s.length()返回3 |
-> | 成员运算符,用于类或结构体的指针。 | string s = “abc”; string *p = &s; p->length()返回3 |
& | 取地址运算符,返回变量的地址。 | int a; &a返回a在内存中的地址 |
* | 指针运算符 * ,返回地址中的值。 | int a = 5; int *p = &a; *p返回5 |
Java
赋值运算符
与C++相同。
算术运算符
与C++相同。
逻辑运算符
与C++相同。
位运算符
与C++相同。
其他运算符
运算符 | 描述 | 举例 |
---|---|---|
Condition ? X : Y | 条件运算符。如果 Condition 为真 ? 则值为 X : 否则值为 Y。 | 3>5?3:5,返回5,取两数更大者的常用操作 |
Python
赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值 | 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 **= a 等效于 c = c ** a |
//= | 取整除赋值 | c //= a 等效于 c = c // a |
Python支持连续赋值和分别对多个对象赋值,但注意当值的类型为可变类型的时候,其实是引用另一个变量(改变其中一个变量另一个也会改变)
a = b = 2 # a和b都赋值为2
c, d = 3, 4 # c和d分别赋值为3和4
arr1 = arr2 = [1, 2, 3]
arr1[1] = 5 # 此时arr2也被改变
print(arr2)
# 输出:[1, 5, 3]
算术运算符
以a=10、b=21为例。
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | a + b 输出结果 31 |
- | 减 | a - b 输出结果 -11 |
* | 乘 | a * b 输出结果 210 |
/ | 除 | b / a 输出结果 2.1 |
% | 取模 | b % a 输出结果 1 |
** | 幂 | a**b 为10的21次方 |
// | 取整除 - 往小的方向取整数 | 9//2的结果为4; -9//2的结果为-5 |
逻辑运算符
- 比较运算符
基本类型与C++相同。
此外,Python支持连续比较,例如a == b == c或者1 <= a <= 10等。
print(1 == 1 == 2) # False
print(2 <= 5 <= 7) # True
- 逻辑运算符
以a=10、b=20为例。
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与" | (a and b) 返回 20 |
or | x or y | 布尔"或" | (a or b) 返回 10 |
not | not x | 布尔"非"。 | not(a and b) 返回 False |
位运算符
与C++相同。
其他运算符
运算符 | 描述 | 实例 |
---|---|---|
in | x in y测试x是否包含于y中 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True |
not in | x in y测试x是否不包含于y中 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True |
print(2 in [1,2,3]) # True
print(2 not in [1,2,3]) # False