前言:
在 C# 编程的世界里,运算符就像是赋予代码 “生命活力” 的魔法棒,它们看似简单,却承载着各种复杂的运算逻辑,从基础的算术运算到精巧的位运算,每一种运算符都在程序的运行过程中发挥着不可或缺的作用。无论是处理数据、判断条件,还是实现复杂的算法,运算符都是我们必须熟练掌握的基础工具。今天,就让我们深入剖析 C# 中各类运算符的特性与使用技巧,揭开它们高效运算背后的神秘面纱。
4.1 算数运算符

注意:
(1)两个整数相除,小数部分会被自动舍去。
(2)多种类型运算,返回结果是数据类型大的。
4.2 自增、自减运算符
自增运算符:++
自减运算符:--
他们都是 单目运算符
前置运算:例如:++a,--a。其运算结果是自身修改后的值,再参与其他运算。
后置运算:例如:a++,a--。其运算结果是自身未修改的值。
注意:自增自减运算符只能作用于变量。
4.3 赋值运算符
主要作用是用来为变量等赋值,是双目运算符。
1. 简单赋值运算符
用 = 表示,功能是将右操作数所含的值赋值给左操作数。
2.复合赋值运算符

4.4 关系运算符(比较运算符)
关系运算符是双目运算符,用于变量之间和其他类型的对象之间的比较,然后返回一个代表运算结果的布尔值。

4.5 逻辑运算符
逻辑运算符是对真和假这两种布尔值进行运算,运算后的结果仍然是一个布尔值。
注意:除了 ! 是单目运算符,其他都是双目运算符。
注意:&和&&,|和||
使用&会判断两个表达式;而“&&”则是针对布尔类型的数据进行判断,当第一个表达式为false时,则不去判断第二个表达式直接输出结果,从而减少计算机判断的次数。通常将这种在逻辑表达式中从左端的表达式的值可推断出整个表达式的值的表达式成为 短路,&&为短路运算符。||同上。

4.6 位运算符
位运算符的操作数类型是整数类型,可以是有符号的,也可以是无符号的。在实际使用时,需要先将要执行运算的数据转换为二进制,然后才能进行计算。
双目运算符:位与,位或,位疑惑运算符
单目运算符:取反
注意:整数类型数据在内存中以二进制的形式存在,左边最高位是符号位:1代表负数,负数用补码表示;0代表正数。
1.位与运算符 &
运算法则:如果两个整数类型数据a,b对应为都是1,结果为1,否则为0.如果两个操作数的精度不同,则结果的精度与精度高的操作数相同,
2. 位或运算符 |
运算法则:如果两个操作数对应为都是0,则结果位是0;否则为1。
3.位异或运算符 ^
运算法则:当两个操作数的二进制表示相同(同时为0或同时为1)时,结果为0,否则为1.
4.取反运算 ~
运算法则:将操作数对应二进制的1修改为0,0修改为1.
4.7 移位运算符
左移运算符<<:用于将一个二进制操作数向左移动指定的位数,左边(高位段)溢出的位被丢弃,右边(低位段)的空位用0补充。左移运算符相当于乘以2的n次幂。
右移运算符>>:用于将一个二进制操作数向右移动指定的位数。右边(低位段)溢出的位被丢弃;而在填充左边(高位段)的空位时,如果最高位是0(正数),左侧填入0;如果最高位1(负数),左侧填入1.右移运算相当于除以2的n次幂。
注意:
(1)双目运算符
(2)右操作数不可以是负数,并且要小于左操作数
(3)由于运算符的运算速度很快,因此在程序中遇到表达式乘以或者除以2的n次幂的情况是,一般采用移位运算符来代替。
4.8 条件运算符
条件运算符用 ?: 表示。是C#中唯一三目运算符。
表达式为: <表达式1>? <表达式2>: <表达式3>
条件运算符的结合性是从右向左运算。
4.9运算符优先级和结合性
优先级从高到低:
(1)自增,自减运算符
(2)算数运算符
(3)移位运算符
(4)关系运算符
(5)逻辑运算符
(6)条件运算符
(7)赋值运算符

结尾
学习 C# 运算符的过程,就像解锁一个个编程世界的 “技能包”,每掌握一种运算符,都能让我们在编写代码时拥有更多的思路和更灵活的解决方案。这些运算符的知识不仅是我们编程能力的基石,更是我们迈向更复杂、更高级编程领域的 “敲门砖”。希望通过本文的分享,能帮助大家更好地理解和运用 C# 运算符。也期待大家在实际编程中不断实践、探索,挖掘运算符更多的应用场景,创造出更高效、更精彩的代码!

1478

被折叠的 条评论
为什么被折叠?



