运算符知识点和思考练习,及书里发现的错误
知识点
算术运算符 + - * / % +和-运算符即可作为一元运算符,也可作为二元运算符
关系运算符 == != < > <= >=
赋值运算符 = += -= /= *= %= &=“与”赋值 |=“或”赋值 ^=“异或”赋值
条件运算符 ?= 根据布尔型表达式的值返回两个值中的一个
逻辑运算符 &&与运算 ||或运算 !非运算
成员访问运算符 . 用于成员访问,指定类型或命名空间的成员,还用于构造限定名,即指定其所属的命名空间或接口的名称
转换运算符 ()用于指定强制转换或类型转换
增量运算符和减量运算符 ++i前缀增量操作,该操作是操作数加1后的值;i++后缀增量操作符,该运算的结果是操作数加1前的值
--i和i--与上相似
思考练习
using System; public class Operator { static void Main() { int i = 2; int j = 3; Console.Write(-2 * 5); j *= i;//乘法赋值预算 Console.WriteLine("j is {0}", j); Console.ReadLine(); int c; c = i < j ? i + j : i - j;//条件运算符的使用,如果问号前的条件为true,c就等于冒号前的表达式值,否则为后者的表达式值 Console.WriteLine("c is {0}", c); Console.ReadLine(); int a = 10; int b = 11; //Console.WriteLine(a&&b);此句是错误的,逻辑运算符只能针对两边计算出来的是bool值 //Console.ReadLine(); //a&=b; // Console.WriteLine(a&=b); // Console.ReadLine(); // Console.WriteLine(a|=b);//函数内的表达式值最后为多少就输出多少,赋值运算以被赋值的变量值为准 // Console.ReadLine(); Console.WriteLine(a - ++b);//先算b的值(b自加1)为12,10-12=-2 Console.ReadLine(); Console.WriteLine(b--);//先算b的值(b值不变)为12 Console.WriteLine(b);//此时b值已经自减过1了 Console.ReadLine(); } }
书内错误
p33页,第3行将i++和++i写反了