C# 运算符详解:包含算术、赋值、比较、逻辑运算符及 Math 类应用
运算符用于对变量和值执行操作。在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# 逻辑运算符
与比较运算符一样,您还可以使用逻辑运算符测试True
或False
值。
逻辑运算符用于确定变量或值之间的逻辑关系:
逻辑与 (&&
)
如果两个语句都为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 类应用的更多相关文章
- Net is as typeof 运行运算符详解 net 自定义泛型那点事
Net is as typeof 运行运算符详解 概述 在了解运行运算符的前提我们需要了解什么是RTTI ,在任何一门面向对象的语言中,都有RTTI这个概念(即 运行时). RTTI(Run-Ti ...
- JavaScript逻辑and、or、not运算符详解
一.AND详解: 在JavaScript中,逻辑 AND 运算符用双和号(&&)表示. 需要说明的是:逻辑AND运算的运算数可以是任何类型的,不止是Boolean值,如果某个运算数不是 ...
- EditText使用详解-包含很多教程上看不到的功能演示
写道 标题有点大,说是详解,其实就是对EditText的一些常用功能的介绍,包括密码框,电话框,空白提示文字等等的讲解,尽量的介绍详细一点,也就是所谓的详解了..呵呵 广告一下我的应用“我团”,最新1 ...
- Python基础知识详解 从入门到精通(七)类与对象
本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...
- javascript算术运算符详解
算术运算符 +.-.*./.%.++.-- ++.--分为前缀形式和后缀形式 前缀形式先加减1在执行 后缀形式先执行再加减1 注意 +号用来连接两个字符串 只要+连接的操作数中有一个是字符串型,JS就 ...
- Mysql中的算术运算符详解
MySQL 支持的算术运算符包括加.减.乘.除和模运算.它们是最常使用.最简单的一类运算符.表4-1 列出了这些运算符及其作用. 下例中简单地描述了这几种运算符的使用方法: mysql> sel ...
- js 表达式与运算符 详解(上)
表达式: 表达式是用于JavaScript脚本运行时进行计算的式子,可以包含常量.变量.运算符 <script> var r = 2 var pi = 3.14 var circle = ...
- java运算符详解
java运算符: 定义:用来指明对于操作数的运算方式 按照操作数数目分类: 单目运算 数目运算 三目运算 a++ a+b (a>b) ? ...
- C语言运算符详解
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C 语言内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 本章将逐一介绍算术运 ...
- 第04章_MySQL运算符详解
第04章_运算符 1. 算术运算符 算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加(+).减(-).乘(*).除(/)和取模(%)运算. 1.加法与减法运算符 ...
随机推荐
- Spring使用注解方式进行事务管理
目录 使用步骤: 步骤一.在spring配置文件中引入tx:命名空间 步骤二.具有@Transactional 注解的bean自动配置为声明式事务支持 步骤三.在接口或类的声明处 ,写一个@Trans ...
- Java HashMap 详解
HashMap HashMap 继承自 AbstractMap,实现了 Map 接口,基于哈希表实现,元素以键值对的方式存储,允许键和值为 null.因为 key 不允许重复,因此只能有一个键为 nu ...
- Node.JS http server
一.自动更新刷新 http server browser-sync dist --files "**/*" 二.http-server 三.webpack-dev-server的c ...
- 【Azure 环境】调用Azure RunCommand 的REST API 设置虚拟机的环境变量(SetEnvironmentVariable)
问题描述 在Azure VM的门户页面中,可以通过 RunPowerShellScript来执行PowerShell脚本,如下图: 那么,如何使用REST API 在Azure VM中执行PowerS ...
- 【Azure 存储服务】Azure Blob上传大文件(600MB)出现内存溢出情况(Java SDK)
问题描述 Java 云端开发,调用 blob 上传会产生内存溢出,Java上调用的方式如下: InputStream inputStream = new BufferedInputStream(new ...
- NebulaGraph v3.3.0 发布:支持子图过滤、和大量性能优化
NebulaGraph 3.3.0 支持了 GET SUBGRAPH 和 GetNeighbors 的点过滤.引入了大量性能优化,同时,开始对无 tag 顶点的支持默认关闭. 优化 优化了 k-hop ...
- Lua学习笔记3
Lua学习笔记3 IO读写 Lua中读写使用自带的I/O库处理文件. 分为简单模式和完全模式. 简单模式(simple model)拥有一个当前输入文件和一个当前输出文件,并且提供针对这些文件相关的操 ...
- 十: SQL执行流程
SQL执行流程 1. MySQL 中的 SQL执行流程 MySQL的查询流程: 1.1 查询缓存 Server 如果在查询缓存中发现了这条 SQL 语句,就会直接将结果返回给客户端:如果没 有,就进入 ...
- putty配置kali linux 远程连接
首先配置sshd_config文件 VI 编辑或者使用 gedit 文本编辑, 修改的内容包括下面几个 红色标出(为了以复原建议大家 拷贝一份或者修改的地方进行标注) 之后重启服务,但是有的还是存在报 ...
- 『Java 语法基础』面向对象有哪些特性
面向对象编程(OOP) 是一个将现实世界抽象为一系列对象的编程范式,这些对象通过消息传递机制来互相交流和协作. OOP 的主要特性包括四个基本概念:封装(Encapsulation).继承(Inher ...