C#学习系列之四:运算符和表达式

1.运算符:

总体来说,我们可以把C#当中的运算符分为六种,分别是:算术运算符,三元运算符(条件运算符),逻辑运算符,比较运算符,赋值运算符,成员访问运算符.下边我们用几张表来俱体看一下每种运算符是如何体现的:

类别

运算符

        说明       

表达式

结果

 

 

 

 

 

 

算术运算符

 

 +

用于执行加法运算

(如果两个操作数是字符串,则该运算符用作字符串连接运算符,将一个字符串添加到另一个字符串的末尾)

 

1+2

 

    3

   -

执行减法运算

5-3

    2

   *

     执行乘法运算

2*3

     6

   /

     执行除法运算取商

6/3

     2

   %

     执行除法运算取余数

7%3

     1

 

 

 ++

 

 

     操作数加1

i=3;

j=i++;

运算后,i的值是4j的值是3

i=3;

j=++i;

运算后,i的值是4,的值是4

 

 

 --

 

 

     操作数减1

i=3;

j=i--;

运算后,i的值是2j的值是3

i=3;

j=--i;

运算后,i的值是2j的值是2

 

比较运算符

 >

检查一个数是否大于另一个数

6>5

 True

 <

检查一个数是否小于另一个数

6<5

 False

 >=

检查一个数是否大于等于另一个数

6>=4

 True

 <=

检查一个数是否小于等于另一个数

6<=4

 False

 ==

检查两个值是否相等

“ab”==ab

 True

 !=

检查两个数是否不等

5=6

 True




条件运算符

?:

检查给出的表达式是否为真。如果为真,则运算结果为操作数1,否则运算结果为操作数2

表达式?操作数1:操作数2

 

 

 

=

给变量赋值

int a,b;

a=1;b=a;

运算后,b的值是1

+=

操作数1与操作数2相加后赋值给操作数1

int a,b;

a=2;b=3;

b+=a;

 运算后,b的值为5

-=

操作数1与操作数2相减后赋值给操作数1

int a,b;

a=2;b=3;

b-=a;

运算后,b的值为1

*=

操作数1与操作数2相乘后赋值给操作数1

int a,b;

a=2;b=3;

b*=a;

运算后,b的值为6

/=

操作数1与操作数2相除后赋值给操作数1

int a,b;

a=2;b=6;

b/=a;

运算后,b的值为3

%=

操作数1与操作数2相除取余后赋给操作数1

int a,b;

a=2;b=7;

b%=a;

运算后,b的值为1

逻辑运算符

&&

执行逻辑与运算,检查两个表达式是否都为真

int a=5;

(a<10)&&(a>5)

False

||

执行逻辑或运算,检查两个表达式是否至少有一个为真

int a=5;

(a<10)||(a>5)

True

!

执行逻辑非运算,检查特定表达式取反后是否为真

bool result=true;

!result;

Flase

类型转换

()

将一种数据类型强制转换为另一种数据类型

(数据类型)操作数

 

操作数类型

typeof

表示某种数据类型

typeof(string)

 


二、常见的表达式及运算符

static
 void Main()
{
     
int result = 0;//=为赋值运算符,这是一个赋值表达式.
      int number;
     result 
= number * 100;//这是一个表达式,=为赋值运算符,*为算术运算符
      Console.WriteLine(result);//这里的.号就指成员访问运算符
}

一元运算符(++/--)及表达式
        static void Main()
        
{
            
int inti = 0;//声明变量
            int intj = 0;
            
for (int i = 0; i < 10; i++)
            
{
                inti
++;
                intj
--;
            }

            Console.WriteLine(
"inti++运算后结果为{0},intj--运算后结果为{1}", inti, intj);
        }

        
//运行结果为inti=10,intj=-10
由此可见,inti++相当于inti=inti+1,而intj--相当于intj=intj-1.

三元运算符及表达式
        static void Main()
        
{
            
int inti = 1;//声明变量
            string sex = inti.ToString()+" ";
            sex 
+= (inti == 1 ? "男人" : "女人");//如果inti为1 时候sex为男人,否则的话sex为女人
            Console.WriteLine(sex);
        }

三元运算符还是常用滴.希望能多练练.
is操作符:
is操作符是用来动态的检测运行时对像类型是否与指定类型兼容,运算结果返回一个bool值,例:
    public static void Main()
    
{
        Console.WriteLine(
1 is int);
        Console.WriteLine(
1 is float);
        Console.WriteLine(
1.0 is float);
        Console.WriteLine(
1.0 is double);
    }
以上代码的返回结果为:true false false true
需要注意的是,我们能表述的意思是 苹果是水果,得到的答案为true.

as操作符:
as操作符应用于兼容的引用类型之间的转换.返回值为值本身或null.如:
    public static void Main()
    
{
        Console.WriteLine(“a” 
as string);
    }
 
posted @ 2009-10-03 13:40  Derekwong  阅读(794)  评论(0编辑  收藏  举报