c#2-基本数据类型.ppt
文本预览下载声明
第二章 C#编程基础 河北理工大学 赵 爽 本章主要内容 基本数据类型 变量与常量值 运算符与表达式 值类型 2.2 变量与常量值 2.2.1变量 2.2.2 常量值(字面值) 2.3 表达式 2.3.1 算术运算符 2.3.2关系运算符 2.3.3 逻辑运算符 2.3.5 赋值运算符 2.3.6条件运算符 2.3.7 位运算符 2.3.7运算符的优先级与结合性 2.3.2关系运算符 注意: 不要混淆相等操作符与赋值运算符。像x = = y这样的代码会比较x与y,如果两个值相同,就会返回true。相反,像x = y这样的代码会将y的值赋给x。 逻辑运算符是用来对两个bool类型的操作数进行逻辑运算的,运算的结果也是bool类型。 其中最简单的是求反操作符,它使用感叹号(!)表示。!操作符求一个布尔值的反值。 bool areYouReady; areYouReady = true; Console.WriteLine(areYouReady); //输出true Console.WriteLine(!areYouReady); //输出false 2.3.3 逻辑运算符 另外还有两个常用的操作符:逻辑与操作符(“”);逻辑或操作符(“ || ”)。 只有作为操作数的两个布尔表达式都为true的前提下,操作符的求值结果才为true。而两个表达式任何一个为true,操作符||的求值结果都为true。 bool b b = (a 0) (a 100); b = (a 0) || (a 100); 运算符“”和“||” 具有短路特征,使代码的效率更高。所谓短路就是在逻辑运算的过程中,如果计算第一个操作数时,就能得知运算结果就不会再计算第二个操作数。 短路求值 b = (a 0) (a 100); 如果a 0的结果为false,则b为false。 b = (a 0) || (a 100); 如果a 0的结果为true,则b为true。 赋值运算符有两种形式,一个是简单赋值运算符,一个是复合赋值运算符。 1. 简单赋值运算符 简单赋值运算符一般格式为:Var = Expression 赋值运算的结果是:其值是右边表达式的值,类型是左值类型。如果左值和右值的类型不一致,在兼容的情况下,则需要进行自动转换(隐式转换)或强制类型转换(显式类型转换)。一般的原则是,从占用内存较少的短数据类型向占用内存较多的长数据类型赋值时,可以不做显式的类型转换,C#会进行自动类型转换,反之当从较长的数据类型向占用较少内存的短数据类型赋值时,则必须做强制类型转换。 2. 复合赋值运算符 在做形如x = x +3 这样运算时,C#提供一种简化方式x +=3,这就是复合赋值运算。其一般形式为: var op= expression // op 表示某一运算符 等价的意义是: var = var op expression 除了关系运算符,一般二元运算符都可以和赋值运算符在一起构成复合赋值运算。 2.3.5 赋值运算符 表2.8 复合赋值运算 条件运算符形式为: Exp1 ? Exp2 : Exp3 其中表达式Exp1的运算结果必须是一个bool类型值,表达式Exp2和Exp3可以是任意数据类型,但它们返回的数据类型必须一致。 条件运算符的运算过程是:首先计算Exp1的值,如果其值为true,则计算Exp2值,这个值就是整个表达式的结果;否则,取Exp3的值作为整个表达式的结果。 例如: z = x y ? x : y ; // z 的值就是x,y中较大的一个值 z = x =0 ? x : -x ; // z的值就是x的绝对值 位运算符主要分为逻辑运算和移位运算,它的运算操作直接作用于操作数的每一位,所以操作数的类型必须是整数类型,不能是bool类型,float或double等类型。 按位与、按位或、按位异或、按位取反运算 在实际使用中,按位与通常用于将某位置0或测试某位是0还是1;按位或通常用于将某位置1。 ushort n; n=0x17ff ; if ( n 0x8000 == 0 ) Console.WriteLine (最高位为0 ) ; else Console.WriteLine (最高位为1 ) ; n = n 0x7ffff ; // n 的最高位置0,其
显示全部