c#中的运算符(只说我自己熟悉和常用的)
一、算数运算:
加 +
减 -
乘 *
除 / (整型的除法是不算小数点的,也就是说结果是整数,余数舍去了,求余数看下面)
求余数 %
加减乘好理解,整型的除法和求余数因为和我们平时习惯的计算不大一样,做个例子:
1 static void Main(string[] args) 2 { 3 int i = 5, j = 2; 4 Console.WriteLine("算除法的结果:{0}", i / j); 5 Console.WriteLine("求余数的结果:{0}", i % j); 6 Console.ReadLine(); 7 }
运行后结果可知,除法只取整数,后面的余数舍去了,如果是编写牵扯到除法的程序,必须注意这一点。
如果是double类型,那么用除法是可以得到我们平时看到的结果的:
static void Main(string[] args)
{
double i = 5, j = 2;
Console.WriteLine("算除法的结果:{0}", i / j);
Console.WriteLine("求余数的结果:{0}", i % j);
Console.ReadLine();
}
算除法的结果:2.5
求余数的结果:1
二、比较型的运算:
大于 小于 等于 不等于 大于等于 小于等于
> < == != >= <=
要注意的是等于是用了2个等号,区别于赋值的一个等号,初次学习编程的时候,经常会在判断等于时候少写一个等号变成赋值。做比较的两个变量一定是统一类型,如果不是一定要转成一样的类型才可以作比较
比较型的运算返回的结果不是数字而是布尔型的真和假。在C和VBS中,用0表示假,非0表示真。在c#中不能这样操作,参考下面的代码,这个代码在c中是正确的,在c#中运行会错误,提示你常量不能转换成布尔类型:
if(0)
{
}
三、逻辑型运算符返回的结果也是布尔型,真或假:
&& 如果两者都为真,那么结果为真(我理解为"and"方式,又称并且方式)
|| 如果两者都为假,那么结果为假(我理解为"or"方式,又称或者方式。这个理解比较别扭,我干脆按是否为真来理解)
"并且方式"和"或者方式"只是我个人根据自己的理解起的代称,并不表示是科学的说法。
&的例子代码:
1 static void Main(string[] args) 2 { 3 int i = 5; 4 int j = 2; 5 int c = 3; 6 Console.Write(i>c &j>c); 7 Console.ReadLine();
翻译过来就是:如果i大于c并且j大于c都是真的,那么就是真的。显然1j不可能大于c,所以结果是假的。
|的例子代码:
1 static void Main(string[] args) 2 { 3 int i = 5; 4 int j = 2; 5 int c = 3; 6 Console.Write(i>c |j>c); 7 Console.ReadLine();
翻译过来就是:如果i大于c或者1j大于c有一个为真,那么就是真的。这里i大于c是真的,所以结果是真的。
四、条件运算符
条件运算符(?:)根据布尔型表达式的值返回两个中的一个,条件运算符的格式如下:
布尔型表达式?为ture时返回的值:为false;例如:
1 static void Main(string[] args) 2 { 3 int i = 6; 4 int j = 2; 5 Console.Write(i!=j ?++i:--i); 6 Console.ReadLine(); 7 }
上述代码首先定义了两个变量并赋值再给它进行运算,如果i!=j,那么就会返回++i的值并打印出来。否则就会打印--i的值并打印出来。