C# 运算符详解:包含算术、赋值、比较、逻辑运算符及 Math 类应用

2024-01-19 21:48:28 浏览数 (2)

运算符用于对变量和值执行操作。在C#中,有多种运算符可用,包括算术运算符、关系运算符、逻辑运算符等。

算术运算符

算术运算符用于执行常见的数学运算:

代码语言:csharp复制
int x = 100   50;  // 加法,结果为 150
int y = x - 30;    // 减法,结果为 120
int z = x * 2;     // 乘法,结果为 300
int w = x / 3;     // 除法,结果为 50
int remainder = x % 3;  // 取余,结果为 0(100 除以 3 的余数)

Console.WriteLine("x: "   x);
Console.WriteLine("y: "   y);
Console.WriteLine("z: "   z);
Console.WriteLine("w: "   w);
Console.WriteLine("remainder: "   remainder);

递增和递减运算符

递增运算符 用于将变量的值增加 1,而递减运算符 -- 用于将变量的值减少 1:

代码语言:csharp复制
int a = 5;
a  ;  // 等同于 a = a   1;
Console.WriteLine("a: "   a);  // 输出 6

int b = 10;
b--;  // 等同于 b = b - 1;
Console.WriteLine("b: "   b);  // 输出 9

注意事项

在实际编码中,请注意避免在表达式中使用过多的递增和递减运算符,以确保代码的可读性。递增和递减运算符的使用可能会导致代码难以理解,并引起潜在的错误。

赋值运算符

赋值运算符用于将值赋给变量。

在下面的示例中,我们使用赋值运算符(=)将值10赋给一个名为x的变量:

代码语言:csharp复制
// 赋值运算符
int x = 10;

加法赋值运算符( =)将一个值添加到变量中:

代码语言:csharp复制
int x = 10;
x  = 5;

所有赋值运算符的列表:

运算符

示例

等同于

试一试

=

x = 5

x = 5

=

x = 3

x = x 3

-=

x -= 3

x = x - 3

*=

x *= 3

x = x * 3

/=

x /= 3

x = x / 3

%=

x %= 3

x = x % 3

&=

x &= 3

x = x & 3

=

x

= 3

x = x

3

^=

x ^= 3

x = x ^ 3

=

x >>= 3

x = x >> 3

<<=

x <<= 3

x = x << 3

C# 比较运算符

比较运算符用于比较两个值(或变量)。这在编程中很重要,因为它帮助我们找到答案并做出决策。

比较的返回值要么是True,要么是False。这些值被称为布尔值

在下面的示例中,我们使用大于运算符(>)来判断5是否大于3:

代码语言:csharp复制
int x = 5;
int y = 3;
Console.WriteLine(x > y); // 返回True,因为5大于3

所有比较运算符的列表:

运算符

名称

示例

==

等于

x == y

!=

不等于

x != y

>

大于

x > y

<

小于

x < y

>=

大于或等于

x >= y

<=

小于或等于

x <= y

C# 逻辑运算符

与比较运算符一样,您还可以使用逻辑运算符测试TrueFalse值。

逻辑运算符用于确定变量或值之间的逻辑关系:

逻辑与 (&&)

如果两个语句都为true,则返回True

代码语言:csharp复制
x < 5 && x < 10

逻辑或 (||)

如果其中一个语句为true,则返回True

代码语言:csharp复制
x < 5 || x < 4

逻辑非 (!)

反转结果,如果结果为true,则返回False

代码语言:csharp复制
!(x < 5 && x < 10)

C# Math 类

C#Math 类提供了许多方法,允许您对数字执行数学运算。

示例:

代码语言:csharp复制
using System;

public class MathDemo
{
    public static void Main()
    {
        // 使用 Math.Max() 查找最大值
        int max = Math.Max(5, 10);
        Console.WriteLine("最大值:{0}", max);

        // 使用 Math.Min() 查找最小值
        int min = Math.Min(5, 10);
        Console.WriteLine("最小值:{0}", min);

        // 使用 Math.Sqrt() 计算平方根
        double sqrt = Math.Sqrt(64);
        Console.WriteLine("平方根:{0}", sqrt);

        // 使用 Math.Abs() 计算绝对值
        double abs = Math.Abs(-4.7);
        Console.WriteLine("绝对值:{0}", abs);

        // 使用 Math.Round() 四舍五入
        double round = Math.Round(9.99);
        Console.WriteLine("四舍五入:{0}", round);
    }
}

输出:

代码语言:csharp复制
最大值:10
最小值:5
平方根:8
绝对值:4.7
四舍五入:10

Math 类常用方法:

  • Math.Max(x, y):返回 x 和 y 中的最大值。
  • Math.Min(x, y):返回 x 和 y 中的最小值。
  • Math.Sqrt(x):返回 x 的平方根。
  • Math.Abs(x):返回 x 的绝对值。
  • Math.Round(x):将 x 四舍五入到最接近的整数。
  • Math.Pow(x, y):将 x 乘以自身 y 次。
  • Math.Log(x):返回 x 的自然对数。
  • Math.Sin(x):返回 x 的正弦值。
  • Math.Cos(x):返回 x 的余弦值。
  • Math.Tan(x):返回 x 的正切值。

注意:

  • Math 类中的方法都是静态方法,因此您无需创建 Math 类的实例即可使用它们。
  • Math 类中的方法是 double 精度的,如果您需要更高的精度,可以使用 decimal 类型或其他数学库。

最后

看完如果觉得有帮助,欢迎 点赞、收藏、关注

0 人点赞