3.1 算术运算符
-
核心概念: 算术运算符用于执行基本的数学运算,包括加法、减法、乘法、除法和取模等。
-
运算符列表:
+
(加法):将两个操作数相加。-
(减法):将第二个操作数从第一个操作数中减去。*
(乘法):将两个操作数相乘。/
(除法):将第一个操作数除以第二个操作数。%
(取模):返回第一个操作数除以第二个操作数的余数。++
(自增):将操作数的值增加 1。--
(自减):将操作数的值减少 1。
-
操作数类型: 算术运算符通常用于
int
和float
类型的操作数。 -
返回值类型:
- 如果操作数都是
int
类型,则结果为int
类型。 - 如果操作数中至少有一个
float
类型,则结果为float
类型。
- 如果操作数都是
-
示例代码:
int a = 10; int b = 3; float c = 3.5; print(a + b); // 输出 13 print(a - b); // 输出 7 print(a * b); // 输出 30 print(a / b); // 输出 3 print(a / c); // 输出 2.857142857142857 print(a % b); // 输出 1 a++; print(a); // 输出 11 b--; print(b); // 输出 2
3.2 比较运算符
-
核心概念: 比较运算符用于比较两个值的大小或相等性,返回布尔值。
-
运算符列表:
==
(等于):检查两个操作数是否相等。!=
(不等于):检查两个操作数是否不相等。>
(大于):检查第一个操作数是否大于第二个操作数。<
(小于):检查第一个操作数是否小于第二个操作数。>=
(大于等于):检查第一个操作数是否大于或等于第二个操作数。<=
(小于等于):检查第一个操作数是否小于或等于第二个操作数。
-
操作数类型: 比较运算符可以用于各种类型的操作数,包括
int
、float
、string
和bool
。 -
返回值类型:
bool
。 -
示例代码:
int a = 10; int b = 20; string str1 = "hello"; string str2 = "world"; print(a == b); // 输出 false print(a != b); // 输出 true print(a > b); // 输出 false print(a < b); // 输出 true print(a >= 10); // 输出 true print(a <= 5); // 输出 false print(str1 == "hello"); // 输出 true print(str1 != str2); // 输出 true
3.3 逻辑运算符
-
核心概念: 逻辑运算符用于组合或取反布尔表达式,返回布尔值。
-
运算符列表:
&&
(逻辑与):只有当两个操作数都为true
时,结果才为true
。||
(逻辑或):只要两个操作数中有一个为true
,结果就为true
。!
(逻辑非):对操作数取反。
-
操作数类型:
bool
。 -
返回值类型:
bool
。 -
示例代码:
bool a = true; bool b = false; print(a && b); // 输出 false print(a || b); // 输出 true print(!a); // 输出 false print(!(a && b)); // 输出 true
3.4 位运算符
-
核心概念: 位运算符用于对整数的二进制位进行操作,返回整数。
-
运算符列表:
&
(按位与):对两个操作数的二进制位进行按位与操作。|
(按位或):对两个操作数的二进制位进行按位或操作。^
(按位异或):对两个操作数的二进制位进行按位异或操作。~
(按位取反):对操作数的二进制位进行按位取反操作。<<
(左移):将操作数的二进制位向左移动指定的位数。>>
(右移):将操作数的二进制位向右移动指定的位数。
-
操作数类型:
int
。 -
返回值类型:
int
。 -
示例代码:
int a = 5; // 二进制 0101 int b = 3; // 二进制 0011 print(a & b); // 输出 1 (二进制 0001) print(a | b); // 输出 7 (二进制 0111) print(a ^ b); // 输出 6 (二进制 0110) print(~a); // 输出 -6 (二进制 11111010) print(a << 1); // 输出 10 (二进制 1010) print(a >> 1); // 输出 2 (二进制 0010)
3.5 赋值运算符
-
核心概念: 赋值运算符用于给变量赋值,包括简单赋值和复合赋值。
-
运算符列表:
=
(赋值):将右侧操作数的值赋给左侧变量。+=
(加法赋值):将右侧操作数的值加到左侧变量上。-=
(减法赋值):将右侧操作数的值从左侧变量中减去。*=
(乘法赋值):将左侧变量乘以右侧操作数的值。/=
(除法赋值):将左侧变量除以右侧操作数的值。%=
(取模赋值):将左侧变量除以右侧操作数的值的余数赋给左侧变量。
-
操作数类型: 左侧操作数为变量,右侧操作数类型与变量类型兼容。
-
返回值类型: 赋值后左侧变量的类型。
-
示例代码:
int a = 10; a += 5; // 等价于 a = a + 5 print(a); // 输出 15 a -= 3; // 等价于 a = a - 3 print(a); // 输出 12 a *= 2; // 等价于 a = a * 2 print(a); // 输出 24 a /= 4; // 等价于 a = a / 4 print(a); // 输出 6 a %= 5; // 等价于 a = a % 5 print(a); // 输出 1
3.6 字符串连接运算符
-
核心概念: 字符串连接运算符用于将两个字符串连接成一个新的字符串。
-
运算符:
..
。 -
操作数类型:
string
。 -
返回值类型:
string
。 -
示例代码:
string firstName = "Alice"; string lastName = "Bob"; string fullName = firstName .. " " .. lastName; print(fullName); // 输出 Alice Bob
3.7 三元运算符
- 核心概念: 三元运算符用于根据条件选择两个表达式之一,返回选中的表达式的值。
- 语法:
条件 ? 表达式1 : 表达式2
。 - 操作数类型: 条件为布尔值,表达式