分类 |
|
符号 |
解释 |
优先级 |
算术运算符 |
算数 |
++ —— |
加加 减减 |
由高到低,即执行顺序由上到下(圆括号的优先级最高) |
* / % |
乘 除 取余 |
|||
+ — |
加 减 |
|||
关系运算符 |
关系 |
> < >= <= |
大于 小于 大于等于 小于等于 |
|
== != |
等于 不等于 |
|||
逻辑运算符 |
逻辑 |
&& |
与(并且) |
|
|| |
或 |
|||
! |
非 |
|||
其他运算符 |
条件运算符 |
?: |
唯一的一个三元运算符 |
|
赋值(复合运算符) |
= += -= *= /= %= |
如:x-=4,即x=x-4; |
注意:优先级:! > 前++> 算术运算符> 关系运算符> 逻辑运算符> 其他运算符> 后++
1.前++与后++的区别:
举例1:
static void Main(string[] args) { int a = 10; int b = a++; int c = ++a; Console.WriteLine("a={0}",a); Console.WriteLine("b={0}", b); Console.WriteLine("c={0}", c); }
运算结果:
a=12
b=10
c=12
举例2:
static void Main(string[] args) { int a = 10; int b = a--; int c = --a; Console.WriteLine("a={0}",a); Console.WriteLine("b={0}", b); Console.WriteLine("c={0}", c); }
运算结果:
a=8
b=10
c=8
由此得出结论:
区别在于 a++是先把操作数a放入前面的表达式,然后操作数a+1
++a是先把操作数a+1再放入前面的表达式运算
2.条件运算符
表达式:表达式1 ?表达式2: 表达式3
举例:x=x>12?1:2 //假如表达式x>12成立,那么返回1,否则就返回2
课堂练习1:
static void Main(string[] args) { //作业1:相亲 //输入 string fangzi = ""; string piaozi = ""; string nengli = ""; string jieguo = ""; Console.Write("姑娘:你有房子吗?"); fangzi = Console.ReadLine(); Console.Write("姑娘:你有钱吗?"); piaozi = Console.ReadLine(); Console.Write("姑娘:你有能力吗?"); nengli = Console.ReadLine(); //运算 jieguo = fangzi == "有" ? "咱们结婚吧!" : (piaozi == "有" ? "用钱买房子结婚吧!" : (nengli == "有" ? "快点赚钱买房子结婚吧" : "赶紧去学IT吧!")); //输出 Console.WriteLine(jieguo); }
课堂练习2:
static void Main(string[] args) { //作业2 : 当兵 //输入 string sex = ""; string age1 = ""; string jieguo = ""; int age2; Console.Write("性别:"); sex = Console.ReadLine(); Console.Write("年龄:"); age1 = Console.ReadLine(); age2 = Convert.ToInt32(age1); //运算 jieguo = sex == "女" ? "回家看门去吧" : (age2 > 0 && age2 < 18 ? "回家上学去吧" : (age2 >= 18 && age2 < 60 ? "抓去当兵" : "回家养老去吧!")); //输出 Console.WriteLine(jieguo); }
课堂练习3:
static void Main(string[] args) { //作业3: 24小时制转变为12小时制,温馨提示时间问候 string shour = ""; int hour =0; string ap = ""; string wenhou = ""; //输入 Console.Write("请输入当前小时:"); shour = Console.ReadLine(); //运算 hour = Convert.ToInt32(shour); wenhou = hour >= 0 && hour < 6 ? "晚上没睡吗?" : (hour >= 6 && hour < 11 ? "上午好!" : (hour >= 11 && hour < 14 ? "中午好!" : (hour >= 14 && hour < 18 ? "下午好!" : (hour >= 18 && hour <= 21 ? "晚上好!" : (hour >= 22 && hour <= 23 ? "夜已深了,早点休息吧!" : "输入时间有误!"))))); ap = hour > 12 ? "PM" : "AM"; hour = hour > 12 ? hour - 12 : hour; //输出 Console.WriteLine("当前时间为:{0}点{1} {2}",hour,ap,wenhou); }
昨天下午的内容,有点事没来得及整理,今晚工作量就大了···