首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

2.3  运算符

运算符是组成计算机表达式的关键。常用的运算符有算数运算符、字符串运算符、赋值运算符、逻辑运算符等。本节将结合实际的应用,学习如何使用C#中的运算符。

 2.3.1  算数运算符

算数运算符是常见的数学运算,在C#中,用加(+)、减(-)、乘(*)、除(/)表示。

下面的代码演示了常见的4种算数运算,注意,这些参与运算的变量的数据类型,一定是可计算的类型。

class Program

{

    static void Main(string[] args)

    {

        int x, y;

        x = 25;                                       //定义变量初始值

        y = 5;                                         //定义变量初始值

        Console.WriteLine("两个数的和: {0}", x+y); //输出和

        Console.WriteLine("两个数的差: {0}", x - y);   //输出差

        Console.WriteLine("两个数的积: {0}", x * y);   //输出积

        Console.WriteLine("两个数的商: {0}", x / y);   //输出商

    }

}

上述代码的运行效果如图2.4所示。

图2.4  算数运算的结果

 2.3.2  字符串运算符

字符串运算符是常用的运算符号,用在字符串和字符的处理上。在C#中,字符串运算最常用的运算符是“+”和“[ ]”。“+”用来连接两个字符串,虽然效率有些低,但使用方便。“[ ]”用来以索引方式查找字符串数组中的值,可以被称为字符串的索引器。

下面的实例演示两种运算符的使用方法。

class Program

{

        static void Main(string[] args)

        {

            string str1 = "Hello ";

            string str2 = "World!";

            string[] strArray ={ "this", "is", "test" };

        Console.WriteLine("用+连接字符串的结果: {0}", str1+str2);     //输出用+连//接的字符串

        Console.WriteLine("数组中的第一个值: {0}", strArray[0]);     //输出数组中//的第一个值

        Console.WriteLine("输出数组中的第二个值: {0}", strArray[1]);//输出数组中//的第二个值

        Console.WriteLine("输出数组中的第三个值: {0}", strArray[2]);//输出数组中//的第三个值

    }

}

注意:定义字符串数组使用“{ }”实现,使用“[ ]”索引数组时,从0开始索引。

上述代码的运行效果如图2.5所示。

图2.5  字符串运算的结果

 2.3.3  赋值运算符

赋值运算符就是常见的“=”,它可以为数值型、枚举、类等所有的类型赋值。使用“=”的语法如下所示:

变量 = 值;

其中,“=”左边一般为变量的名称,“=”右边为固定的值、已经知道的变量或新实例化的类。还有一种赋值运算符可计算后再赋值。如“+=”或“-=”。

下面代码演示了不同类型的赋值方式。

class Program

{

    static void Main(string[] args)

    {

        int x = 10;                                  //数值型赋值

        string str = "北京奥运会";                     //字符型赋值

        StringBuilder str1 = new StringBuilder();    //类赋值

        int[] arr ={ 1, 2, 3, 4 };                   //数组赋值

        x += arr[1];

        Console.WriteLine("x的最终结果为{0}",x);

    }

}

上述代码运行效果如图2.6所示。

图2.6  赋值运算的结果

 2.3.4  逻辑运算符

逻辑运算就是常说的“是否”操作,“是”就执行A代码,“否”就执行B代码。逻辑运算符一般包括“与”、“或”、“非”。

—     与:C#中的符号为“&&”,表示必须满足两个条件。语法为“表达式1 && 表达式2”。

—     或:C#中的符号为“||”,表示满足两个条件中的任意一个即可。语法为“表达式1 || 表达式2”。

—     非:C#中的符号为“!”。表示取当前表达式结果的相反结果。如果当前表达式为“true”,则计算结果为“false”。语法为“! 表达式”。

下面的代码演示了逻辑运算符的使用方法。

class Program

{

    static void Main(string[] args)

    {

        int x = 5;

        int y = 5;

        if (x == 5 && y == 5)                    //与操作

            Console.WriteLine("x和y相等");

        else

            Console.WriteLine("x和y不相等");

        y = 50;

        if (x == 50 || y == 50)                  //或操作

            Console.WriteLine("x和y中有一个为50");

        if (!(y == 5))                           //非操作

            Console.WriteLine("y不等于5");

    }

}

上述代码的运行效果如图2.7所示。

图2.7  逻辑运算的结果

 2.3.5  位运算符

位运算在C语言中曾经发挥过巨大的作用,但它在C#语言中的应用并不广泛。本节只简单介绍一下C#的位运算符,并给出一个简短的小例子。

位运算符对位进行运算和处理。C#中主要包括6种位运算符,如表2.1所示。

表2.1  C#中的位运算符

位运算符标识

标识说明

&

按位与。将两个值的二进制进行与操作。只有两个二进位均为1时,结果位才为1,否则为0

|

按位或。将两个值的二进制进行或操作。只要两个二进制位中有一个为1,结果位就等于1,否则为0

^

按位异或

~

取反

<< 

左移。将变量的二进制位往左移动,低位补0

>> 

右移。将变量的二进制位往右移动

下面一个例子演示了简单的位运算过程。

class Program

{

    static void Main(string[] args)

    {

        char x = 'a', y = 'b';                       //定义两个字符

        int z;                                       //定义数值型数据

        z = x;                                       //将a隐式转换为数值

        Console.WriteLine("此时的z为:{0}",z);

        z = (z << 8) | y;                            //进行位运算

        Console.WriteLine("z经过左移8位,再和y进行按位与后,结果为{0}",z);

    }

}

上述代码的运算结果如图2.8所示。

图2.8  按位运算的结果

 2.3.6  其他运算符

除了前面介绍的运算符外,C#还有一些常用的运算符,下面列出了这些运算符的说明和语法。

—     自增和自减运算符:一般用于数值型变量,用来增大或减少变量当前的值,使用语法为“变量++;”或“变量--;”。

—     比较运算符:一般用于条件表达式中,用来判断表达式是否符合条件,主要包含“==”、“!=”和“<”等运算符,使用语法为“if(x==y)”。

—     条件运算符:先用一个“?”判断表达式是否满足条件然后用“:”间隔两个表达式,如果满足条件就执行“:”左边的表达式,否则,执行右边的表达式。条件运算符是C#中唯一的一个三元运算符。使用语法为“条件?表达式1:表达式2”。

 2.3.7  运算符的优先级

运算符并不是按照表达式的书写顺序来依次执行的,在C#中,不同的运算符具备不同的运算顺序。表2.2列举了C#中运算符的优先级,其中,最上面的运算符优先级最高。

表2.2  C#中运算符的优先级

运算符类型

运算符符号

算数运算符

+-*/

逻辑运算符

&& ||!

字符串连接运算符

+

自增和自减

++--

比较运算符

==!=< > <= >=

赋值运算符

=+=-=

条件运算符

?   :  

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论