C#逻辑运算符

2116 更新于: 2021-06-09 读完约需 8 分钟

概述

在C#中,逻辑运算符用于根据我们的需求在AND、OR和NOT等两个操作数之间执行逻辑操作。逻辑运算符始终使用布尔表达式(true或false)并返回布尔值。

逻辑运算符中的操作数必须始终只包含布尔值。否则将抛出错误。

下表列出了C#语言支持的三种逻辑运算符,(假设:a = true, b = false) :

操作符 名称 描述 示例
&& 逻辑与 如果两个操作数都非零,则返回true。 a && b (false)
|| 逻辑或 如果任意一个操作数是非零,则返回true。 a || b (true)
! 逻辑非 它将返回逻辑状态的反转,即:如果两个操作数都是非零,它将返回false。 !(a && b) (true)

在C#应用程序中使用逻辑与(AND)或者逻辑或(OR)运算符,不同的输入返回的逻辑运算结果如下所示:

操作数1 操作数2 逻辑与(AND)结果 逻辑或(OR)结果
true true true true
true false false true
false true false true
false false false false

结论:仔细观察上面的表,你会发现:如果任何一个操作数值为“假”,那么逻辑与(AND)运算符将返回false。如果任意一个操作数值为“真”,逻辑或(OR)运算符将返回true

在C#应用程序中使用逻辑非(NOT)运算符,它将返回如下所示的结果。

操作数 逻辑非(NOT)
true false
false true

结论:逻辑非(NOT)运算总是返回操作数的反向值。如果操作数值为“真”,那么逻辑非(NOT)运算将返回false,反之亦然。

以下是逻辑运算符在C#中的示例:

using System;

namespace ConsoleApp1
{
    internal static class Program
    {
        private static void Main(string[] args)
        {
            int x = 16, y = 5;
            bool a = true;
            bool result;
            // 逻辑与运算
            result = (x <= y) && (x > 10);
            Console.WriteLine("逻辑与运算: " + result);
            // 逻辑或运算
            result = (x >= y) || (x < 5);
            Console.WriteLine("逻辑或运算: " + result);
            // 逻辑非运算
            result = !a;
            Console.WriteLine("逻辑非运算: " + result);
        }
    }
}

运行结果如下:

逻辑与运算: False
逻辑或运算: True
逻辑非运算: False

逻辑运算符主要用于条件判断或流程控制,这里还是以前面提到过的划分学生成绩等级为例演示,代码如下:

using System;

namespace ConsoleApp1
{
    internal static class Program
    {
        private static void Main(string[] args)
        {
            Console.WriteLine("请输入学生成绩...");
            // 从控制台读取用户输入的分数
            int score= Int32.Parse(Console.ReadLine() ?? "0");
            Console.WriteLine($"你输入的成绩是:{score}");
            Console.Write("对应等级为:");
            if (score >= 90)
            {
                Console.Write("优秀");
            }
            else if (score < 90 && score >= 70)
            {
                Console.Write("良好");
            }
            else if (score < 70 && score >= 60)
            {
                Console.Write("合格");
            }
            else if (score < 60 && score >= 50)
            {
                Console.Write("较差");
            }
            else
            {
                Console.Write("很差");
            }
            Console.ReadLine();
        }
    }
}

运行结果如下:

请输入学生成绩...
95
你输入的成绩是:95
对应等级为:优秀
---------------------------
请输入学生成绩...
75
你输入的成绩是:75
对应等级为:良好
---------------------------
请输入学生成绩...
60
你输入的成绩是:60
对应等级为:合格
---------------------------
请输入学生成绩...
50
你输入的成绩是:50
对应等级为:较差
---------------------------
请输入学生成绩...
40
你输入的成绩是:40
对应等级为:很差

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

本文永久链接码友网 » C#程序设计基础(入门篇) » C#逻辑运算符 分享:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册