C#入门系列课程之五---运算符、表达式
时间:2010-10-18 来源:徐禀欣
1、算术运算符:+、-、*、/和%(求余)模运算
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int i1; int i0 = 56; int i2 = 10; int result; float r1; i1 = 55; result = i1 + i2; Console.WriteLine(result); result = i1 - i2; Console.WriteLine(result); result = i1*i2; Console.WriteLine(result.ToString()); result = i1 / i2; Console.WriteLine(result.ToString());//整型相除的结果一定是整型 r1 = i0 / i2; Console.WriteLine(r1);//整型相除的结果一定是整型 result = i1 % i2; Console.WriteLine(result.ToString()); Console.ReadLine(); } } }
2、赋值运算符
名称 | 运算符 | 运算规则 | 意义 |
赋值 | = | 将表达式赋值给变量 | 将右边的值给左边 |
加赋值 | += | 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&y |
位或赋值 | |= | x|=y | x=x|y |
右移赋值 | >>= | x>>=y | x=x>>y |
左移赋值 | <<= | x<<=y | x=x<<y |
异或赋值 | ^= | x^=y | x=x^y |
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int i; i = 55; Console.WriteLine("i+=10的值={0}",i+=10); Console.WriteLine("i-=10的值={0}", i -= 10); Console.WriteLine("i*=10的值={0}", i *= 10); Console.WriteLine("i/=10的值={0}", i /= 10); Console.WriteLine("i%=10的值={0}", i %= 10); //以下运算均是将数值转换成为二进制再运算 Console.WriteLine("i&=10的值={0}", i &= 10); Console.WriteLine("i|=10的值={0}", i |= 10); Console.WriteLine("i>>=10的值={0}", i >>= 2); Console.WriteLine("i<<=10的值={0}", i <<= 2); Console.WriteLine("i^=10的值={0}", i ^= 10); Console.ReadLine(); } } }
3、关系运算符
关系运算符 | 说明 |
== | 等于 |
> | 大于 |
< | 小于 |
!= | 不等于 |
>= | 大于等于 |
<= | 小于等于 |
4、逻辑运算符
逻辑运算符 | 说明(按位运算数必须是有整型数int、uint、ulong、long) |
&按位与 | 两个数对应的是1时,返回的结果是1,否则为0 |
|按位或 | 两个数对应的是0时,返回的结果是0,否则为1 |
^按位异或 | 两个数对应的都是1或者0时,返回的结果是0,否则为1 |
&布尔与 | 两个数都是true时,返回的结果是true,否则为false |
|布尔或 | 两个数都是false时,返回的结果是false,否则为true |
^布尔异或 | 两个数相同时返回结果为false,否则为true |
5、移位运算符
移位运算符 | 说明(X>>N或x<<n:X,N必须为整型,是指将X向左或向右移动N位) |
左移<< | x=x<<2,将X向左移动了两次,转换成二进制移动 |
右移>> | x=x>>2,将x向右移动了两次,转换成二进制移动 |
6、一元运算符
运算符 | 运算规则 | 说明 |
+ | x=+x1 | x的值等于X1的值 |
- | x=-x1 | x的值等于x的值乘以-1 |
++ | x=++x1 | x=x1+1,x1递增1 |
-- | x=--x1 | x=x1-1,x1递减1 |
++ | x=x1++ | x=x1 x1加1 |
-- | x=x1-- | x=x1, x减1 |
7、其他运算符
运算符 | 说明 |
is | 用于检查变量是否为指定的类型。如果是,返回真;否则,返回假 |
? : | 判断?前面的为true或false,为true执行?:之间的表达式,否则执行:后面 |
new | 用于创建一个新的类型,如类、数组、新的代表类型 |
typeof | 用于获得系统原型对象的类型,也就是Type对象 |
8、运算符的优先级
分类 | 运算符 | 优先级 |
基本 | x.y、f(x)、a[x]、x++、x--、new、typeof、checked、unchecked | 高 |
一元 | +、-、!、~、++、--、(T)x、~ | 低 |
乘除 | * / % | |
加减 | +、- | |
移位 | <<、>> | |
比较 | <、>、<=、>=、is、 as | |
相等 | ==、!= | |
位与 | & | |
位异或 | ^ | |
位或 | | | |
逻辑与 | && | |
逻辑或 | || | |
条件 | ?: | |
赋值 | =、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>= | 低 |
表达式是由运算符和操作数组成的。操作数包括为文本、常量、变量和表达式等
相关阅读 更多 +