表达式

                                      表达式

一、简介
1、表达式是由操作数和运算符组成的式子。表达式是指具有完整意义的计算机指令。
2、在表达式中,运算符指示应对操作数进行什么样的运算。运算符包括+、-、、/和new;操作数包括文本、字段、局部变量和表达式。
3、我们要知道:当一个表达式包括了多个运算符时,是由运算符的优先级控制各运算符的计算顺序的。例如:加减乘除中,乘除的优先级高于加减,因此,在x+y
z中是先计算yz的。
4、运算符重载允许指定用户定义的运算符来实现执行运算。而这些运算的操作数中至少有一个是属于用户定义的类类型或结构类型。
5、最简单的表达式是字面量值(比如字符串或数字)、变量、内置的值(null、undefined、true和false)、或者一个表达式后面再跟着另一个表达式。
二、C#运算符的表达式
下面是按优先级从高到低的顺序列出的各运算符类别。我们要记住同一类别中的运算符优先级相同。
1、 基本类别:
(1)访问成员的表达式:x.m;
(2)调用方法和委托的表达式:x(…);
(3)访问数组和索引器的表达式:x[…];
(4)后增量的表达式:x++;
(5)后减量的表达式:x–;
(6)创建对象和委托的表达式:new T(…);
(7)创建数组的表达式:new T[…];
(8)获取T的System.Type对象的表达式:typeof(T);
(9)在checked上下文中计算表达式的表达式:checkes(x);
(10)在unchecked上下文中计算表达式的表达式:uncheckes(x);
2、一元类别:
(1)表达式的值相同的表达式:+x;
(2)求相反数的表达式:-x;
(3)逻辑求反的表达式:!x;
(4)按位求反的表达式:~x;
(5)前增量的表达式:++x(即x=x+1);
(6)前减量的表达式:–x(即x=x-1);
(7)将x转换为类型T的显示的表达式:(T)x;
3、乘除类别:
(1)乘法表达式:x
y;
(2)除法表达式:x/y;
(3)求余表达式:x%y;
4、加减类别:
(1)加法、字符串串联、委托组合的表达式:x+y;
(2)减法、委托移除的表达式:x-y;
5、移位类别:
(1)向左移表达式:x<<y;
(2)向右移表达式:x>>y;
6、检测关系和类型的类别:
(1)小于表达式:x<y;
(2)大于移表达式:x>y;
(3)小于或等于的表达式:x<=y;
(4)大于或等于的表达式:x>=y;
(5)判断x是(返回true)否(返回false)属于T类型的表达式:char i; i is int; x is T;(6)返回已经转换为类型T的x的表达式:x as int;如果x不是T则返回null。
7、相等类别:
(1)等于表达式:x==y;
(2)不等于表达式:x!=y;
8、逻辑类别:
(1)逻辑AND(与):整型按位AND,布尔逻辑AND的表达式:x&&y;
(2)逻辑XOR:整型按位XOR,布尔逻辑XOR的表达式:x^y;
(3)逻辑OR(或):整型按位OR,布尔逻辑OR的表达式:x||y;
9、条件类别:当x为true时,对y求值;而当x为false时,对z求值的表达式:x?y:z;(?:叫三元条件运算符)例如:
char my=(a>b)?”c”:”d”;
char my;
if(a>b){my=c}else{my=d}。
14、赋值类别:
(1)赋值表达式:x=y;int x=2;
(2)复合赋值表达式:x op=y;
其中,复合赋值支持的运算符有:
(1)相乘后赋值:*=;
(2)相除后赋值:/=;
(3)相余后赋值:%=;
(4)相加后赋值:+=;
(5)相减后赋值:-=;
(6)向左移后赋值:<<=;
(7)向右移后赋值:>>=;
(8)逻辑AND(与)后赋值:&=;
(9)逻辑XOR后赋值:^=;
(10)逻辑OR(或)后赋值:|=;

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值