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

算术运算符

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

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:

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的变量:

// 赋值运算符
int x = 10;

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

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 ^= 3 x = x ^ 3
>>= x >>= 3 x = x >> 3
<<= x <<= 3 x = x << 3

C# 比较运算符

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

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

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

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

x < 5 && x < 10

逻辑或 (||)

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

x < 5 || x < 4

逻辑非 (!)

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

!(x < 5 && x < 10)

C# Math 类

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

示例:

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);
}
}

输出:

最大值: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 类型或其他数学库。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

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

C# 运算符详解:包含算术、赋值、比较、逻辑运算符及 Math 类应用的更多相关文章

  1. Net is as typeof 运行运算符详解 net 自定义泛型那点事

    Net is as typeof 运行运算符详解   概述 在了解运行运算符的前提我们需要了解什么是RTTI ,在任何一门面向对象的语言中,都有RTTI这个概念(即 运行时). RTTI(Run-Ti ...

  2. JavaScript逻辑and、or、not运算符详解

    一.AND详解: 在JavaScript中,逻辑 AND 运算符用双和号(&&)表示. 需要说明的是:逻辑AND运算的运算数可以是任何类型的,不止是Boolean值,如果某个运算数不是 ...

  3. EditText使用详解-包含很多教程上看不到的功能演示

    写道 标题有点大,说是详解,其实就是对EditText的一些常用功能的介绍,包括密码框,电话框,空白提示文字等等的讲解,尽量的介绍详细一点,也就是所谓的详解了..呵呵 广告一下我的应用“我团”,最新1 ...

  4. Python基础知识详解 从入门到精通(七)类与对象

    本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...

  5. javascript算术运算符详解

    算术运算符 +.-.*./.%.++.-- ++.--分为前缀形式和后缀形式 前缀形式先加减1在执行 后缀形式先执行再加减1 注意 +号用来连接两个字符串 只要+连接的操作数中有一个是字符串型,JS就 ...

  6. Mysql中的算术运算符详解

    MySQL 支持的算术运算符包括加.减.乘.除和模运算.它们是最常使用.最简单的一类运算符.表4-1 列出了这些运算符及其作用. 下例中简单地描述了这几种运算符的使用方法: mysql> sel ...

  7. js 表达式与运算符 详解(上)

    表达式: 表达式是用于JavaScript脚本运行时进行计算的式子,可以包含常量.变量.运算符 <script> var r = 2 var pi = 3.14 var circle = ...

  8. java运算符详解

    java运算符: 定义:用来指明对于操作数的运算方式 按照操作数数目分类: 单目运算    数目运算    三目运算 a++              a+b           (a>b) ? ...

  9. C语言运算符详解

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C 语言内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 本章将逐一介绍算术运 ...

  10. 第04章_MySQL运算符详解

    第04章_运算符 1. 算术运算符 算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加(+).减(-).乘(*).除(/)和取模(%)运算. 1.加法与减法运算符 ...

随机推荐

  1. github.com/json-iterator/go 详细教程

    最近接触到了 github.com/json-iterator/go , 是由滴滴开源的第三方json编码库,它同时提供Go和Java两个版本. 文中大量内容来自 github 上的 wiki 文档, ...

  2. 【Azure 存储服务】Azure Blob上传大文件(600MB)出现内存溢出情况(Java SDK)

    问题描述 Java 云端开发,调用 blob 上传会产生内存溢出,Java上调用的方式如下: InputStream inputStream = new BufferedInputStream(new ...

  3. 详解SSL证书系列(4)免费的SSL证书和收费的证书有什么区别

    上一篇介绍了如何选择SSL证书,更多地是从证书类型角度介绍的.SSL证书有免费和收费的,那么它们之间有什么区别呢? SSL证书免费和收费的主要区别体现在以下几个方面: 1,验证类型 免费SSL证书通常 ...

  4. C++socket中select函数

    文章参考 https://www.cnblogs.com/shmilxu/p/4835873.html

  5. stm32f103ve+光电传感器使用教程+oled(HAL库)

    最近想做一个物联网农业监控系统,第一步就是能够学会使用相关的外设,比如温湿度检测,光照强度检测,还有CO2检测等. 这次讲一下光电传感器的使用和代码实现. 1.知识储备:串口使用,ADC采集(此处用的 ...

  6. Java对象引用和内存管理的细节

    在Java中,当局部变量(比如方法参数)的作用域结束时,这个局部变量的引用确实不再存在,但这并不意味着它引用的对象会被销毁.对象的销毁是由Java的垃圾回收器(Garbage Collector, G ...

  7. C++ STL之 map 学习笔记

    •何为 map? map 是 STL 的一个关联容器,它提供一对一的数据处理,map 中存放的是一个 key-value键值对,其类型可以自己定义: 第一个可以称为关键字,每个关键字在 map 中只能 ...

  8. Zabbix“专家坐诊”第192期问答汇总

    问题一 Q:请问下,客户机snmptrap发告警为啥server web收不到,关键是snmptrap日志已经收到,zabbix server配置以及开启snmptrap=1 snmptrap=var ...

  9. 摆脱鼠标操作 vscode-vim-use-readme.md

    vscode-vim 学习笔记 梳理下自己定义的快捷键 Normal模式返回 ESC capsLock 双击shift ctrl+[ jj ctrl+c (这个键比较特殊 用习惯y的话,考虑这个) 一 ...

  10. C#实现软件开机自启动(不需要管理员权限)

    目录 原理简介 使用方法 完整代码 原理简介 本文参考C#/WPF/WinForm/程序实现软件开机自动启动的两种常用方法,将里面中的第一种方法做了封装成AutoStart类,使用时直接两三行代码就可 ...