表达式=操作数+运算符
(一)算数运算符
错误例子:这不是python!!!!!!!!!!!!!
正确结果:
使用/运算符时,除数不能为0
使用%运算符时,返回结果的符号与运算符左边的操作数一致
(二)赋值运算符
1、简单赋值运算符=
2、复合赋值运算符
复合赋值运算符可以自动完成类型转换
表达式比较复杂时,复合赋值不推荐!!!!
(三)关系运算符——返回值为布尔值
同时使用多个关系运算符(要使用逻辑运算符)
Console.WriteLine("n1>n2>n3:" + (n1 > n2> n3));
error CS0019: 运算符“>”无法应用于“bool”和“int”类型的操作数
Console.WriteLine("n1>n2>n3:" + ((n1 > n2)&& (n2> n3)));
(四)逻辑运算符
&&和&、||和|的区别:
&&和||称为短路运算符,当第一个操作数为F或T时,直接输出运算结果,不会计算第二个操作数(效率更高)。
&和|计算两个操作数。
判断用户名和密码登录
Console.WriteLine("请输入用户名:");
String user = Console.ReadLine();
Console.WriteLine("请输入密码:");
String pwd = Console.ReadLine();
if (user== "123" && pwd == "12345")
{
Console.WriteLine("输入正确!");
}
else
{
Console.WriteLine("输入错误!");
}
Console.ReadLine();
(五)位运算符
使用异或运算符进行密码加密:
(六)移位运算符
(1)左移位运算符——<<
左移位运算符相当于乘以2的n次幂。
(2)左移位运算符——>>
左移位运算符相当于除以2的n次幂。
(七)其他特殊运算符
1、条件运算符——C#中仅有的一个三目运算符,执行顺序为从右向左
判断公式?结果1:结果2;
公式为真,返回结果1;为假,返回结果2。
先执行n4 > n3 ? n4 : n3
再执行n > n2 ? n3 :上一步的结果
注意:条件表达式无法单独作为C# 语句
2、逗号运算符——连接作用
3、is运算符——
对象 is 类型
(八)运算符的优先级和结合性
1、优先级
2、结合性
单目、条件和赋值运算符具有右结合性;其他运算符具有左结合性。
总结:
单目运算符优先级高于双目运算符的优先级;
()优先级最高,自增自减运算符、算数运算符,移位运算符、关系运算符,逻辑运算符,赋值运算符。