unity3d学习笔记-代码(8.逻辑运算符)

1、逻辑与(&&)

符号:&& (并且)
规则:对两个bool值进行逻辑运算(有假为假,同真为真)

bool result = true && false;
Console.WriteLine(result);//打印结果为 false
result = true && true;
Console.WriteLine(result);//打印结果为 true
result = false && true;
Console.WriteLine(result);//打印结果为 false

//bool相关的类型 bool变量 条件运算符
//逻辑与运算符优先级 低于 条件运算符 算术运算符
int i = 3;
result = i > 1 && i < 5;
Console.WriteLine(result);//打印结果为 true

2、逻辑或(||)

符号:|| (或者)
规则:对两个bool值进行逻辑运算(有真则真,同假为假)

bool result = true || false;
Console.WriteLine(result);//打印结果为 true
result = true && true;
Console.WriteLine(result);//打印结果为 true
result = false && true;
Console.WriteLine(result);//打印结果为 true
result = false && false ;
Console.WriteLine(result);//打印结果为 false 

//bool相关的类型 bool变量 条件运算符
//逻辑或运算符优先级 低于 条件运算符 算术运算符
int i = 3;
result = i > 10 || i < 5;
Console.WriteLine(result);//打印结果为 false 

注意:逻辑与和逻辑或都是先计算左操作数,在计算右操作数。逻辑与左操作数计算结果是假值时,则返回假值,无需计算右操作数,逻辑或左操作数计算结果是真值时,则返回真值,无需计算右操作数。

3.逻辑非

符号:!
规则:对两个bool值进行逻辑运算(真变假,假变真)

result = !false;
Console.WriteLine(result);//打印结果为 true
result = !true ;
Console.WriteLine(result);//打印结果为 false 
result = !!true ;
Console.WriteLine(result);//打印结果为 true 

//逻辑非的运算符较高
int i = 3;
//result = !i > 2;//报错
result = !(i > 2);
Console.WriteLine(result);//打印结果为 false 

4.混合使用优先级问题

规则:!(逻辑非) 优先级最高 ,&&(逻辑与)优先级高于||(逻辑或)
逻辑运算符优先级 低于 算术运算符 和条件运算符(逻辑非除外)

bool gameOver = false;
int hp = 100;
bool isDead = false;
bool isMustOver = true;
bool result;
result = gameOver || hp < 0 && !isDead || isMustOver;
Console.WriteLine(result);//打印结果为 true

5.逻辑运算符短路规则

int i = 1;
bool result;
//||(有真则真)  &&(有假则假)
//只要逻辑与或者逻辑或 左边满足条件,则抛弃后面,不去计算(短路)
//真||? 逻辑或遇见第一个判断条件为真,则该结果肯定为真,则抛弃后面,不去计算
result = i > 0 || ++i >= 1;
Console.WriteLine(i);//打印结果为 1
Console.WriteLine(result);//打印结果为 true

//真&&? 逻辑与遇见第一个判断条件为假,则该结果肯定为假,则抛弃后面,不去计算
result = i < 0 && ++i > 1;
Console.WriteLine(i);//打印结果为 1
Console.WriteLine(result);//打印结果为 false

逻辑运算符和位运算符_辣辣的草莓酱-CSDN博客_逻辑位运算符

Unity基础之C#入门篇笔记8:逻辑运算符,位运算符,三目运算符_四月的白羊座的博客-CSDN博客


版权声明:本文为Amateur_master原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。