C#开发之——运算符(2.2)
一 概述
运算符是每一种编程语言中必备的符号,如果没有运算符,那么编程语言将无法实现任何运算。 运算符主要用于在执行程序代码运算,例如:加法、减法、大于、小于等 。下面介绍:
- 算术原算符
- 逻辑运算符
- 比较运算符
- 三元运算符
- 运算符的优先级
二 算术运算符
2.1 概念
算术运算符是最常用的一类运算符,包括加法、减法、乘法、除法等
具体的表示符号
运算符 说明 + 对两个操作数做加法运算 - 对两个操作数做减法运算 * 对两个操作数做乘法运算 / 对两个操作数做除法运算 对两个操作数做取余运算
2.2 强调
- 当对两个字符串类型的值使用
+
运算符,代表的是两个字符串值的链接,例如"123"+"456"的结果为"123456" - 当使用/运算符时也要注意操作数的数据类型,如果两个操作数的数据类型都为整数,那么结果相当于取整数运算,不包括余数;而两个操作数中如果有一个操作数的数据类型为浮点数,那么结果则是正常的除法运算
- 当使用%运算符时,如果两个操作数都为整数,那么结果相当于取余数。经常使用该运算符来判断某个数是否能被其他的数整除
2.3 示例 使用 / 和 % 运算符来取得数字 1234 中的千位、百位、十位、个位的值
1 | class Program |
三 逻辑运算符
3.1 概念
逻辑运算符主要包括与、或、非等,它主要用于多个布尔型表达式之间的运算
在使用逻辑运算符时需要注意:逻辑运算符两边的表达式返回的结果都必须是布尔型的
具体的表示符号如下:
运算符 含义 说明 && 逻辑与 如果运算符两边都为True,则整个表达式为True,否则为False || 逻辑或 如果运算符两边有一个或两个为 True,整个表达式为 True,否则为 False ! 逻辑非 表示和原来的逻辑相反的逻辑
3.2 示例 判断2020年是否为瑞年
1 | class Program |
四 比较运算符
4.1 概念
比较运算符是在条件判断中经常使用的一类运算符,包括:大于、小于、不等于、大于等于、小于等于等
使用比较运算符运算得到的结果是布尔型的值,因此经常将使用比较运算符的表达式用到逻辑运算符的运算中
运算符 说明 == 表示两边表达式运算的结果相等 != 表示两边表达式运算的结果不相等 > 表示左边表达式的值大于右边表达式的值 < 表示左边表达式的值小于右边表达式的值 >= 表示左边表达式的值大于等于右边表达式的值 <= 表示左边表达式的值小于等于右边表达式的值
4.2 示例 判断10是否为偶数
1 | class Program |
五 位运算符
5.1 概念
所谓的位运算符,通常是指将数值型的值从十进制转换成二进制后的运算,由于是对二进制进行运算,所以使用位运算符对操作数进行运算的速度稍快
左移1位相当于将操作数乘2,右移1位相当于将操作数除2
位运算符包括:与、或、非、左移、右移
运算符 说明 & 按位与。两个运算数都是1,则整个表达式为1,否则为0;也可以对布尔型的值进行比较,相当于"与"运算,但不是短路运算 | 按位或。两个运算数都为0,则整个表达式为0,否则为1;也可以对布尔型的值进行比较,相当于"或"运算,但不是短路运算 ~ 按位非。当被运算的值为1时,运算的结构为0;当被运算的值为0时,运算结果为1.该操作符不能用于布尔型。对正整数取反,则在原来的数上加1,然后取负数;对负整数取反,则在原来的数上加1,然后取绝对值 ^ 按位异或。只有运算的两个不同结果才为1,否则为0 << 左移。把运算符左边的操作数向左移动运算符右边指定的位数,右边因移动空出的部分补0 >> 有符号右移。把运算符左边的操作数向右移动运算符右边指定的位数。如果是正值,左侧因移动空出的部分补0;如果是负值,左侧因移动空出的部分补1 >>> 无符号右移。和>>的移动方式一样,只是不管正负,因移动空出的部分都补0 5.2 示例 使用位运算符计算2的立方
1
2
3
4
5
6
7class Program
{
static void Main(string[] args)
{
Console.WriteLine("2的立方为:"+(2<<2));
}
}
六 三元运算符
6.1 概念
三元运算符也被称为条件运算符,与后面要学习的if条件语句非常类似
在C#语言中三元运算符只有一个,具体的语法形式如下:
1
布尔表达式?表达式1:表达式2
其中:
- 布尔表达式:判断条件,它是一个结果为布尔型值的表达式
- 表达式1:如果布尔型表达式的值为True,该三元运算得到的结果就是表达式1的运算结果
- 表达式2:如果布尔表达式的值为False,该三元运算符得到的结果就是表达式2的运算结果
- 在三元表达式中表达式1和表达式2的结果的数据类型要兼容
6.2 实例 使用三元运算符判断,如果10位偶数则输出偶数,否则输出奇数
1 | class Program |
七 赋值运算符
赋值运算符中最常见的是等号,除了等号以外,还有很多赋值运算符,它们通常都是与其他运算符连用起到简化操作的作用
常用赋值运算符
运算符 说 明 = x=y,等号右边的值给等号左边的变量,即把变量y的值赋给变量x += x+=y,等同于x=x+y -= x-=y,等同于x=x-y *= x*=y,等同于x=x*y /= x/=y,等同于x=x/y %= x%=y,等同于x=x%y,表示求x除以y的余数 ++ x++或++x,等同于x=x+1 x--或--x,等同于x=x-1 需要注意的是:++和--运算符放在操作数前和操作数后是由区别的,如果放在操作数前,需要现将操作数加1或减1,然后再与其他操作数进行运算;如果放在操作数后,需要先与其他操作数进行运算,然后操作数自身再加1
八 运算符的优先级
在C#中基本的运算符,在表达式中使用多个运算符进行计算时,运算符的运算有先后顺序
如果想改变运算符的运算顺序必须依靠括号。运算符的优先级如下表所示,表中显示的内容是按优先级从高到低排序的
运算符 结合性 .(点)、()(小括号)、[](中括号) 从左到右 +(正)、-(负)、++(自增)、--(自减)、~(按位非)、!(逻辑非) 从右到左 *(乘)、/(除)、%(取余) 从左到右 +(加)、-(减) 从左到右 <<、>>、>>> 从左到右 <、<=、>、>= 从左到右 ==、!= 从左到右 & 从左到右 | 从左到右 ^ 从左到右 && 从左到右 || 从左到右 ?: 从右到左 =、+=、-=、*=、/=、%=、&=、|=、^=、~=、<<=、>>=、>>>= 从右到左