【2017-2-20】C#运算符
运算符分类:
1、算术运算符
⑴+ - * / %(取余,模)
decimal d=10/3; Console.Write(d); Console.ReadLine();
则输出结果为“3”,因为10和3都是int型,decimal型比int型高级,int型隐式转换到代码中,所以结果仍为int型;
decimal d=10.0m/3; Console.Write(d); Console.ReadLine();
则输出结果为“3.3333333333333333333”
⑵++、--
a++和++a都=a+1
int a=7; int b=a++; Console.Write(b);
Console.Write(a); Console.ReadLine();
则输出结果b=7,a=8;
在赋值语句中,前++先执行运算后赋值,后++是先执行赋值后运算;
算术运算符执行先*/后+-的数学运算
2、关系运算符
>,<,>=,<=(判断)
int a=7; int b=13; bool c = a>b; Console.Write(c); Console.ReadLine();
则输出结果为false;
>=和<=无法应用于string类型的操作
==(等于),!=(不等于)
string a="25u"; string b="13"; bool c = a!=b; Console.Write(!c); Console.ReadLine();
则输出结果为false;因为c为true,则!c为false;
3、逻辑运算符
&&(与),||(或),!(非)
&&前后两项都成立,输出结果才为true;
||前后两项只要有一项成立,输出结果即为true;两项都不成立,输出结果为false;
string a ="25"; string b ="25"; int c =13; int d =14; double e =25.6; double f =25.6; bool x = a==b && c==d; bool y = a==b && c==d || e==f; Console.WriteLine(x); Console.WriteLine(y); Console.ReadLine();
则输出结果x为false,y为true;
4、条件运算符
?:
关系判断?输出值:输出值;(注意定义的变量类型与输出数据类型相同)
Console.Write("请输入你的年龄:"); string nianling =Console.ReadLine(); int age =Convert.ToInt32(nianling); string result = age>=18?"欢迎进入!":"很抱歉,您尚未成年!"; Console.WriteLine(result); Console.ReadLine();
5、赋值运算符
=,+=,-=,*=,/=,%=
a+=7即a=a+7;
int a =13; //a%=7; a=++a%7; Console.WriteLine(a); Console.ReadLine();
则输出结果为0,a=++a%7即a=14%7
tips:注释一段代码,选中后ctrl+k(e)+c
解除注释代码,选中后ctrl+k(e)+u
练习题:
“请输入第一个数:”
“请输入第二个数:”
“请输入+/-:”
结果:
Console.Write("请输入第一个数:"); double num1 = Convert.ToDouble(Console.ReadLine()); Console.Write("请输入第二个数:"); double num2 =Convert.ToDouble( Console.ReadLine()); Console.Write("请输入+/-:"); string symbol= Console.ReadLine(); double result = symbol== "+"?num1+num2 : num1-num2; Console.WriteLine(result); Console.ReadLine();