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 | |
| 相等 | ==、!= | |
| 位与 | & | |
| 位异或 | ^ | |
| 位或 | | | |
| 逻辑与 | && | |
| 逻辑或 | || | |
| 条件 | ?: | |
| 赋值 | =、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>= | 低 |
表达式是由运算符和操作数组成的。操作数包括为文本、常量、变量和表达式等
相关阅读 更多 +










