C# 表达式与运算符

C# 表达式与运算符

1.表达式

表达式由运算符和操作符组成的,运算符设置将对操作数进行什么样的运算符,而操作数包括文本,常量,变量和表达式等。

1.算术运算符

+:加号。 -:减号。 *:乘号。 /:除号。%:取余数。
++:自增 --: 自减
n++:是后缀增量操作,该运算的结果是操作数增加之前的值。
如果++(–)写在变量名的前面,就要先为变量加1,加完1再再进行其他操作。

++n:是前缀增量操作,该运算的结果是操作数加1之后的值。
如果++(–)写在变量名的后面,就要先执行其它的运算或操作,再为变量的值加1。

2.比较运算符

也叫关系运算符
1) > :表示大于
2)< :表示小于
3)“ == ”:表示相等,两个数的值是否是相等的,如果相等,证明确实是相等,否则,不是相等的,对整型、浮点型和枚举型数据的操作是一样的,它只简单的比较两个表达式,并返回一个布尔结果。
4)!=: 表示不相等,比较两个数不相等,如果不相等,结果是真的,如果两个数,结果是假的,有两种格式可以应用到表达式,一种是普通的不等运算符(!=),另一种是相等运算符的否定“ !(a==b) ”。通常,这两种格式可以计算出不同的值。
5) >=: 表示大于或等于(满足一个即可)
6) <=: 表示小于或等于(满足一个即可)
bool 类型的结果(true/false)
true:表示的结果是真的,成立的
false:表示的结果是假的,不成立的
一般,定义一个布尔类型的变量来接收比较结果

3.赋值运算符

赋值运算符为变量,属性事件等元素赋新值。
“=” :将等号右侧的内容赋值给等号左侧
“+=”:例,i += 1就是i = i + 1
“ -= ”:例,i -= 1就是i = i - 1
“ *= ”:例,i *=1就是i = i * 1
“ /= ”: 例,i / =1就是i = i / 1
“%=”: 例,i %= 1就是i = i % 1
“&=”:例,i &= 1就是i = i & 1
“ |= ”:例,i |= 1就是i = i | 1
“<<=”:例,i <<= 1就是i = i << 1
“^=”:例,i ^= 1就是i = i ^ 1
“>>=”:例,i >>= 1就是i = i >> 1

4.逻辑运算符

1) 布尔值:true | false
2) 常用的逻辑运算符:
&& :逻辑
| | : 逻辑
! :逻辑
3) 逻辑运算符用下载连接多个比较表达式,
运算结果一般是放在一个bool类型的变量中
4)逻辑运算符中的逻辑与( && )和逻辑或( | | ) 存在一种短路运算
5)关于短路运算
&&:逻辑与连接多个式子时,会从左往右依次执行每一个式子,在这个过程中,只要有一个为假,后面的其它式子根本不会执行,整个式子:false。只有所有狮子都被执行,且都为真时,整个式子才为真。
| |:逻辑或连接多个式子时,只要有一个为真,后面的式子不会再执行,整个式子:true 。也就是说,就算其它的式子即使全部为假,整个式子还是真的。

5.位运算符

此运算符作用于,并逐位执行操作。
即:进行位运算时,应该先将参与运算的数据转为二进制类型,然后再运算。

位运算符除按位与、按位或运算符外,其他只能用于处理整数的操作数。位运算符是完全针对位方面的操作。整型数据在内存中以二进制的形式表示,如int型变量7的二进制表示是00000000 00000000 00000000 00000111。
左边最高位是符号位,最高位是0表示正数,若为1则表示负数。负数采用补码表示,如-8的二进制表示为11111111 11111111 11111111 11111000,这样就可以对整形数据进行按位运算。

5.1“按位与”运算

“按位与”运算的运算符为“&”,“按位与”运算的运算法则是:如果两个整型数据a、b对应位都是1,则结果才是1;否则结果为0.如果两个操作数的精度不同,则结果的精度与精度高的操作相同。

5.2“按位或”运算

“按位或”运算的运算符为“ | ”,“按位或”运算的运算法则是:如果两个操作数对应位都是0,则结果位才是0;否则结果为1。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。

5.3“按位取反”运算

“按位取反”运算也称“安位非”运算,运算符为“ ~ ”,为单目运算符。“按位取反”就是将操作数二进制中的1修改为0,0修改为1。

5.4“按位异或”运算

“按位异或”运算的运算符是“ ^ ”,“按位异或”运算法则是:当两个操作数的二进制表示相同(同时为0或同时为1)时,结果为0,否则结果为1。若两个操作数的精度不同,则结果数的精度与精度高的操作数相同。

5.5移位操作

除了上述位运算符之外,还可以对数据按二进制位进行移位操作。C#中的移位运算符有以下两种:<<和>>
" << ":表示左移
" >> ":表示右移

6.其它运算符

6.1 is运算符

is运算符用于检查变量是否位指定的类型。如果是,返回真;否则,返回假。
因为i是整型,所以运行程序值为true。
注意:不能重载is运算符。is运算符只考虑引用转换、装箱转换和取消装箱转换。不考虑其他转换,如用户定义的转换。

6.2条件运算符

又称“三目运算符” 或 “条件运算符”
这个运算符由 ” ?“ 和 ” :“ 组合,为( xx? xx : xx )
基本语法为: 条件 表达式1 表达式2
根据布尔型表达式的值返回两个值中的一个。如果条件为true,则计算第一个表达式并以它的计算结果为准;如果为false,则计算第二个表达式并以它的计算结果为准。

6.3 new运算符

new运算符用于创建一个新的类型实例,它有三种形式:对象创建表达式、数组创建表达式和代表创建表达式。
对象创建表达式,用于创建一个类类型或值类型的实例。
数组创建表达式,用于创建一个数组类型实例。
代表创建表达式,用于创建一个新的代表类型实例。

6.4 typeof运算符

typeof运算符用于获得系统原型对象的类型,也就是Type对象。Type类包含关于值类型和引用类型的信息。typeof运算符可以在C#语言中各种位置使用,以找出关于引用类型和值类型的信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值