C#教程第二课:表达式,类型和变量

添加人:gamefriends二级(854分)   添加时间:2007-09-12    阅读次数:1418  收藏此教程

逻辑与 &
逻辑异或 ^
逻辑或 |
条件与 &&
条件或 ||
条件 ?:
赋值等 = *= /= %= += -= <<= >>= &= ^= |=

左结合意味着运算符是从左到右进行运算的。右结合意味着所有的运算是从右到左进行的,如赋值运算符,要等到其右边的计算出来之后,才把结果放到左边的变量中。
2.清单 1-2. 单目运算符: Unary.cs
 1using System;
 2class Unary
 3{
 4    public static void Main()
 5    {
 6        int unary = 0;
 7        int preIncrement;
 8        int preDecrement;
 9        int postIncrement;
10        int postDecrement;
11        int positive;
12        int negative;
13        sbyte bitNot;
14        bool logNot;
15        preIncrement = ++unary;
16        Console.WriteLine("Pre-Increment: {0}", preIncrement);
17        preDecrement = --unary;
18        Console.WriteLine("Pre-Decrement: {0}", preDecrement);
19        postDecrement = unary--;
20        Console.WriteLine("Post-Decrement: {0}", postDecrement);
21        postIncrement = unary++;
22        Console.WriteLine("Post-Increment: {0}", postIncrement);
23        Console.WriteLine("Final Value of Unary: {0}", unary);
24        positive = -postIncrement;
25        Console.WriteLine("Positive: {0}", positive);
26        negative = +postIncrement;
27        Console.WriteLine("Negative: {0}", negative);
28        bitNot = 0;
29        bitNot = (sbyte)(~bitNot);
30        Console.WriteLine("Bitwise Not: {0}", bitNot);
31        logNot = false;
32        logNot = !logNot;
33        Console.WriteLine("Logical Not: {0}", logNot);
34    }

35}


说明

 

1.当计算表达式的时候,在后置增一和后置减一运算符进行运算时,先返回其值,再进行增一或者减一运算。当使用前置加号和减号运算符进行运算时,是先进行增一或者减一的运算,然后再返回其结果值。

2.在清单1-2中, 变量unary初始化为0,进行++x 运算时,"unary"的值加1,再把其值1赋给"preIncrement"变量。在进行--x运算时,先把"unary"的值减到0, 再把值0赋给"preDecrement"变量。

3.进行x-运算时,先把"unary"的值0赋给"postDecrement" 变量,之后再把"unary"减到-1。进行x++运算时,先把"unary"的值-1赋给"postIncrement"变量,之后再对"unary"加1,使得"unary"变量现在的值为0。

4.变量"bitNot"初始值为0,进行按位取反运算,本例中,数0表示为二进制"00000000",按位取反之后变为-1,其二进制表示为"11111111"。

5.了解一下表达式"(sbyte)(~bitNot)", 任何对类型sbyte, byte, short 或者 ushort 类型数据的运算,返回结果都是整数。要把值赋给bitNot变量,我们必须使用cast (类型)运算符(强制类型转换),其中Type表示你希望转换成的类型(本例中为sbyte)。 Cast运算符把大范围类型的数据转换为小范围类型的数据时,须特别谨慎,因为此时有丢失数据的危险。一般来说,把小类型的数据赋给大类型变量,并没有问题, 因为大范围数据类型的变量具有足够的空间存放小类型数据。 注意在signed 和unsigned类型之间进行Cast运算时,也存在此类危险。 许多初级程序设计教程对变量的位表示作出了很好的讲解,同时也介绍了直接进行Cast运算的危险。

3页 第1上一页123下一页
相关的教程: CSharp 入门
收藏此教程

当前平均分: 0.0(0 次打分)

-5-4-3-2-1012345
评论主题
您的大名
您的评论
验证码 点击换一个验证码
知识库搜索: