逻辑运算符用来连接多个 bool 类型表达式,实现多个条件的复合判断。 C#中的逻辑运算符包括:逻辑非( ! )、逻辑与( &&、& )、逻辑或( ||、| )。
逻辑非用来对某一个 bool 类型表达式取反,即“真变假”或“假变真”。 请看下面的代码:
Console.WriteLine(1 > 0);//条件表达式为true,输出True Console.WriteLine(!(1 > 0));//用逻辑非对条件表达式取反,输出False逻辑与用来判断 2 个 bool 类型表达式是否同时为 true 。请看下面的代码:
int x = 5, y = 2;//同时声明2个int型变量并赋值 Console.WriteLine(x>3 && y>3);//判断x>3和y>3是否同时为true,由于y>3为false,所以整个表达式为false只有当&&两边的表达式均为 true 时,整个表达式才为 true ;若任意一个表达式为 false ,整个表达式即为 false 。
逻辑或用来判断2个 bool 类型表达式中是否有一个为 true 。请看下面的代码:
int x = 5, y = 2;//同时声明2个int型变量并赋值 Console.WriteLine(x>3 || y>3);//判断x>3和y>3是否有一个为true,由于x>3为true,所以整个表达式为true只要||两边的表达式有一个为 true ,整个表达式即为 true ;若两边的表达式均为 false ,整个表达式为 false 。
对比一下,就是说: && 运算符,两边同真才算真,一边为假就算假; || 运算符,一边为真即为真,两边同假才是假。 ** &&和&的区别: &对两边都会判断真假(非短路); &&先判断左边,如果左边ture再去判断右侧。若左侧为假,则整体为假不再判断右侧(短路); 注:||和|也有相似的区别
** 前面,我们已经学过一个赋值运算符“=”,这次我们学习一下其他的赋值运算符:
加赋值“+=”:先加后赋值。请看下面的例子:
int x=5; x += 2;//这句等同于x=x+2;执行后,x的值为7减赋值“-=”:先减后赋值。请看下面的例子:
int x=5; x -= 2;//这句等同于x=x-2;执行后,x的值为3乘赋值“*=”:先乘后赋值。请看下面的例子:
int x=5; x *= 2;//这句等同于x=x*2;执行后,x的值为10除赋值“/=”:先除后赋值。请看下面的例子:
int x=5; x /= 2;//这句等同于x=x/2;执行后,x的值为2取余赋值“%=”:先取余后赋值。请看下面的例子:
int x=5; x %= 2;//这句等同于x=x%2;执行后,x的值为1与其他运算符从左向右计算不同,赋值运算符从右向左计算。
x = y = 2;//从右向左赋值,x、y的值都是2复合赋值运算符的说明及运算规则 小栗子
static void Main(string[] args) { Console.WriteLine("看看哪个重一些哦!"); Console.WriteLine("铅球a重量为:"); double a = double.Parse(Console.ReadLine()); //直接输入的数据是string类型,需要转化为double类型 Console.WriteLine("铅球b重量为:"); double b = double.Parse(Console.ReadLine()); if (a > b) { Console.WriteLine("a更重"); } else if (a == b) { Console.WriteLine("一样重呢"); } else { Console.WriteLine("b更重"); } Console.ReadLine(); }