执行数学运算
Tip
有关更多详细信息,请参阅 “文本和图像 ”选项卡!
从本质上讲,计算机就是运算速度极快的计算器。 C# 支持预期的所有标准数学运算,允许执行计算并将结果保存在变量中。
算数运算符
C# 使用标准符号进行基本数学运算:
| Operator | Action | 示例 | Result |
|---|---|---|---|
+ |
Addition | 10 + 3 |
13 |
- |
Subtraction | 10 - 3 |
7 |
* |
Multiplication | 10 * 3 |
30 |
/ |
Division | 10 / 3 |
3 (整数除法) |
% |
模数(余数) | 10 % 3 |
1 |
可以在 C# 代码编辑器中自行运行此代码。
了解模数(%)
取模运算符 % 返回除法后的余数。 它可用于检查数字是否平均除法:
Console.WriteLine(10 % 2); // Output: 0 (10 is even)
Console.WriteLine(11 % 2); // Output: 1 (11 is odd)
运算顺序
C# 遵循运算的标准数学顺序(PEMDAS):括号,然后乘法/除法,再加/减法。 使用括号控制顺序:
int standard = 2 + 3 * 4; // Multiplication first: 14
int forced = (2 + 3) * 4; // Parentheses first: 20
复合赋值运算符
常见的模式是使用自己的值来更新变量,例如向分数添加或从余额中减去。 C# 为此提供了简写运算符:
int score = 50;
score = score + 10; // Standard way: score is 60
score += 10; // Shorthand: score is 70
同样的简写方式也适用于其他操作:
| Operator | Meaning | 示例 | 结果(起始值为 10) |
|---|---|---|---|
+= |
添加并赋值 | x += 5 |
15 |
-= |
相减并赋值 | x -= 5 |
5 |
*= |
乘并赋值 | x *= 5 |
50 |
/= |
除并赋值 | x /= 5 |
2 |
递增和递减运算符
对于进行加法或减法运算 1,C# 还有更简短的运算符——++ 和 --:
int count = 5;
count++; // Same as count = count + 1
Console.WriteLine(count); // Output: 6
count--; // Same as count = count - 1
Console.WriteLine(count); // Output: 5
位置很重要:前置递增与后置递增
和++--运算符的行为不同,具体取决于它们出现在变量之前还是之后:
-
后增量 (
value++): 首先使用当前值,然后递增 -
预增量 (
++value): 首先递增,然后使用新值
int a = 5;
Console.WriteLine(a++); // Output: 5 (uses old value, then increments)
Console.WriteLine(a); // Output: 6 (a was incremented)
int b = 5;
Console.WriteLine(++b); // Output: 6 (increments first, then uses new value)
Console.WriteLine(b); // Output: 6
相同的规则适用于 -- (递减)。
整数除法与小数除法
当你将两个整数相除时,C# 会截断(舍去)小数部分:
int result = 7 / 2;
Console.WriteLine(result); // Output: 3 (not 3.5)
若要保留小数,至少一个数字必须是十进制类型:
decimal result = 7m / 2m;
Console.WriteLine(result); // Output: 3.5
这就是为什么为计算选择正确的数据类型很重要的原因。 在下一部分中,你将了解如何在需要时在类型之间进行转换。