C#(七)之逻辑运算符

简介: 算数运算符的优先级大于逻辑运算符。下面是!、 &&、 || 三个运算符的简单应用。

QQ图片20220426104428.jpg

首先说明,算数运算符的优先级大于逻辑运算符。


把这个单独拿出来记录一下,是因为他和PHP不一样。


不能习惯的使用PHP中的那套对于C#的逻辑运算符的逻辑。


1:&& 逻辑与运算符


实例:


bool a = true;
bool c = true;
bool b = false;
bool d = false;
if(a && c){
   Console.WriteLine(1);
}
if(a && b){
   Console.WriteLine(2);
}
if(a && d){
   Console.WriteLine(3);
}
if(b && d){
   Console.WriteLine(4);
}


以上的输出结果只有1.重点来了


在PHP中,同真为真,同假也为真 在C#中,同真为真,同假为假。


2:|| 逻辑或运算符


实例:


bool a = true;
bool c = true;
bool b = false;
bool d = false;
if(a || c){
   Console.WriteLine(1);
}
if(a || b){
   Console.WriteLine(2);
}
if(a || d){
   Console.WriteLine(3);
}
if(b || d){
   Console.WriteLine(4);
}


以上算式输出结果为123;


这个与PHP中的逻辑是一样的,只要有一个为真就是真。


两个都是假,才为假。


3:! 逻辑非运算符:说白了就是取反


bool a = true;
bool c = true;
bool b = false;
bool d = false;
if(!(a || c)){
    Console.WriteLine(1);
}
if(!(a || b)){
    Console.WriteLine(2);
}
if(!(a || d)){
    Console.WriteLine(3);
}
if(!(b || d)){
    Console.WriteLine(4);
}


以上算式结果输出为4


上边已经说过。前三个等式为真,取反之后为假,所以,没有输出。只有最后一个算式,本身为假,取反之后为真。


最后总结一下:


& 和 &&:


相同点 : 两者都是表达当左右两边操作数都为真时,才为真.


不同点 : &运算符需要判断两边的操作数,而&&运算符则是根据第一个操作数的真假进而判断第二个操作数,也就是说当第一个操作数为假时,就不会再判断第二个操作数了,因为第一个操作数为假也就意味着无论第二个操作数真假,返回的结果都为假.


| 和 ||:


相同点 : 两者都是表达当左右两边操作数有一个为真时,就返回真.


不同点 : |运算符需要判断两边的操作数,而||运算符则是根据第一个操作数的真假进而判断第二个操作数,也就是说当第一个操作数为真时,就不会再判断第二个操作数了,因为第一个操作数为真也就意味着无论第二个操作数真假,返回的结果都为真.



目录
相关文章
|
1月前
|
C#
C# 运算符详解:包含算术、赋值、比较、逻辑运算符及 Math 类应用
运算符用于对变量和值执行操作。在C#中,有多种运算符可用,包括算术运算符、关系运算符、逻辑运算符等。
54 1
|
1月前
|
C# 图形学
【Unity 3D】C#控制语句break、continue及算数运算符和逻辑运算符的讲解(附测试代码)
【Unity 3D】C#控制语句break、continue及算数运算符和逻辑运算符的讲解(附测试代码)
38 1
|
1月前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
|
1月前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
|
1月前
|
开发框架 .NET Java
探索 C#编程的奥秘与魅力
【4月更文挑战第20天】C#是微软开发的现代、面向对象的编程语言,以其简洁语法、强大功能和跨平台支持脱颖而出。它支持自动垃圾回收、泛型、委托、LINQ,并广泛应用于桌面、Web、移动和游戏开发。C#拥有活跃的开发者社区和丰富的资源,是Unity游戏开发的首选语言。随着.NET Core,C#可在多个操作系统上运行,持续创新,未来发展潜力巨大。
|
1月前
|
存储 安全 网络安全
C#编程的安全性与加密技术
【4月更文挑战第21天】C#在.NET框架支持下,以其面向对象和高级特性成为安全软件开发的利器。本文探讨C#在安全加密领域的应用,包括使用System.Security.Cryptography库实现加密算法,利用SSL/TLS保障网络传输安全,进行身份验证,并强调编写安全代码的重要性。实际案例涵盖在线支付、企业应用和文件加密,展示了C#在应对安全挑战的同时,不断拓展其在该领域的潜力和未来前景。
|
1月前
|
人工智能 C# 云计算
C#编程的未来发展趋向
【4月更文挑战第21天】C#编程未来将深化跨平台支持,强化云计算与容器技术集成,如.NET Core、Docker。在AI和ML领域,C#将提供更丰富框架,与AI芯片集成。语言和工具将持续创新,优化异步编程,如Task、async和await,提升多核性能。开源生态的壮大将吸引更多开发者,共创更多机遇。
|
1月前
|
程序员 C#
C#编程中的面向对象编程思想
【4月更文挑战第21天】本文探讨了C#中的面向对象编程,包括类、对象、封装、继承和多态。类是对象的抽象,定义属性和行为;对象是类的实例。封装隐藏内部细节,只暴露必要接口。继承允许类复用和扩展属性与行为,而多态使不同类的对象能通过相同接口调用方法。C#通过访问修饰符实现封装,使用虚方法和抽象方法实现多态。理解并应用这些概念,能提升代码的清晰度和可扩展性,助你成为更好的C#程序员。
|
1月前
|
开发框架 安全 .NET
C#编程高手的成长之路
【4月更文挑战第21天】本文揭示了成为C#编程高手的路径:牢固掌握基础知识和面向对象编程,深入了解C#特性如泛型和委托,精通ASP.NET等框架工具,养成良好编程习惯,持续学习实践并参与开源项目,勇于挑战创新。通过这些步骤,不断提升编程技能,迈向C#编程的巅峰。