首页 > 编程语言 >C# 布尔值和条件语句:入门指南和实用示例

C# 布尔值和条件语句:入门指南和实用示例

时间:2024-01-21 13:04:12浏览次数:26  
标签:10 Console 示例 C# 18 else 布尔值 WriteLine

C# 布尔值

在编程中,通常需要一个只能有两个值之一的数据类型,比如:

  • 是 / 否
  • 开 / 关
  • 真 / 假

为此,C# 有一个 bool 数据类型,可以取 truefalse 的值。

布尔值

使用 bool 关键字声明布尔类型,只能取 truefalse 的值:

示例:

bool isCSharpFun = true;
bool isFishTasty = false;
Console.WriteLine(isCSharpFun);   // 输出 True
Console.WriteLine(isFishTasty);   // 输出 False

然而,更常见的是从布尔表达式中返回布尔值,用于条件测试。

布尔表达式

布尔表达式通过比较值/变量返回布尔值:TrueFalse。这对于构建逻辑和找到答案很有用。

例如,您可以使用比较运算符,比如大于(>)运算符,以查找表达式(或变量)是否为 true

示例:

int x = 10;
int y = 9;
Console.WriteLine(x > y); // 返回 True,因为 10 高于 9

甚至更简单:

示例:

Console.WriteLine(10 > 9); // 返回 True,因为 10 高于 9

在下面的示例中,我们使用等于(==)运算符来评估表达式:

示例:

int x = 10;
Console.WriteLine(x == 10); // 返回 True,因为 x 的值等于 10

示例:

Console.WriteLine(10 == 15); // 返回 False,因为 10 不等于 15

现实生活中的例子

让我们想象一个“现实生活中的例子”,我们需要找出一个人是否足够年龄投票。

在下面的示例中,我们使用 >= 比较运算符来查找年龄(25)是否大于或等于投票年龄限制,该限制设置为 18:

示例:

int myAge = 25;
int votingAge = 18;
Console.WriteLine(myAge >= votingAge);

很酷,对吧?更好的方法是将上述代码包装在 if...else 语句中,这样我们可以根据结果执行不同的操作:

示例: 如果 myAge 大于或等于 18,则输出“足够年龄投票!”。否则输出“不足够年龄投票。”:

int myAge = 25;
int votingAge = 18;

if (myAge >= votingAge) 
{
  Console.WriteLine("Old enough to vote!");
} 
else 
{
  Console.WriteLine("Not old enough to vote.");
}

表达式的布尔值是所有 C# 比较和条件的基础。

C# 条件和 if 语句

C# 支持数学中的常见逻辑条件:

  • 小于:a < b
  • 小于或等于:a <= b
  • 大于:a > b
  • 大于或等于:a >= b
  • 等于:a == b
  • 不等于:a != b

您可以使用这些条件来执行不同的决策。

C# 具有以下条件语句:

  • 使用 if 指定要执行的代码块,如果指定的条件为 true
  • 使用 else 指定要执行的代码块,如果相同的条件为 false
  • 使用 else if 指定要测试的新条件,如果第一个条件为 false
  • 使用 switch 指定要执行的许多替代代码块

if 语句

使用 if 语句指定在条件为 True 时要执行的 C# 代码块。

语法:

if (condition) 
{
  // 如果条件为 True,则执行的代码块
}

请注意,if 是小写字母。大写字母(IfIF)将生成错误。

在下面的示例中,我们测试两个值,以查找 20 是否大于 18。如果条件为 True,则打印一些文本:

示例:

if (20 > 18) 
{
  Console.WriteLine("20 is greater than 18");
}

我们也可以测试变量:

示例:

int x = 20;
int y = 18;
if (x > y) 
{
  Console.WriteLine("x is greater than y");
}

示例说明: 在上面的示例中,我们使用两个变量 x 和 y 来测试 x 是否大于 y(使用 > 运算符)。由于 x 为 20,y 为 18,并且我们知道 20 大于 18,因此我们在屏幕上打印 "x is greater than y"。

C# else 语句

使用 else 语句指定在条件为 False 时要执行的代码块。

语法:

if (condition)
{
  // 如果条件为 True,则执行的代码块
} 
else 
{
  // 如果条件为 False,则执行的代码块
}

示例:

int time = 20;
if (time < 18) 
{
  Console.WriteLine("Good day.");
} 
else 
{
  Console.WriteLine("Good evening.");
}
// 输出 "Good evening."

示例说明:

在上面的示例中,时间(20)大于 18,因此条件为 False。因此,我们转到 else 条件并在屏幕上打印 "Good evening"。如果时间小于 18,程序将打印 "Good day"。

C# 中的 else if 语句

使用 else if 语句在第一个条件为 False 时指定新的条件。

if (condition1)
{
  // 如果condition1为真,则执行的代码块
} 
else if (condition2) 
{
  // 如果condition1为假且condition2为真,则执行的代码块
} 
else
{
  // 如果condition1为假且condition2为假,则执行的代码块
}

// 示例
int time = 22;
if (time < 10) 
{
  Console.WriteLine("早上好。");
} 
else if (time < 20) 
{
  Console.WriteLine("白天好。");
} 
else 
{
  Console.WriteLine("晚上好。");
}
// 输出 "晚上好。"

示例说明:

在上面的示例中,时间(22)大于 10,因此第一个条件为 False。在 else if 语句中的下一个条件也为 False,因此我们转到 else 条件,因为 condition1condition2 都为 False,并在屏幕上打印"晚上好"。

然而,如果时间是 14,我们的程序将打印"白天好"。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

标签:10,Console,示例,C#,18,else,布尔值,WriteLine
From: https://blog.51cto.com/xiaowange/9354575

相关文章

  • AI Weekly『1月15-21日』: OpenAI筹集资金建造AI芯片工厂;马斯克加码AI投资,共投入110亿
    AI领域本周『1月15-21日』要闻速览OpenAI首席执行官SamAltman计划筹集数十亿美元建立全球性AI芯片工厂网络,应对未来AI相关芯片的需求激增。埃隆·马斯克和SamAltman共投入110亿美元加码AI投资,展现对AI领域的重视和竞争态势。微软推出CopilotPro及Copilot移动应用,扩展至各规模企......
  • 「杂题乱刷」AT_abc337_e
    题目链接题目传送门(at)题目传送门(luogu)题意简述有\(n\)瓶果汁,其中有一瓶坏的,你需要使用最少的小白鼠使得这些小白鼠能找出已经变质的果汁的编号,对于每只小白鼠,你可以给他们喝任意瓶不重复的果汁,每瓶果汁可以被平均分。解题思路妙妙构造题。思路一:拿\(n\)个小白鼠,每个小......
  • ABC 337
    较简单的场。submissions.很久以后复健abc第一场。G题开太慢没\(2400\)差评。A直接加。B如果\(s=\texttt{rev}(s)\),则是Yes,否则是No。CThereisexactlyonewaytoarrangethe\(N\)peopleconsistentwiththeinformationgiven.所以给出的是一条链。直接记......
  • 【docker-compose】Redis安装教程
    仅供学习参考,请勿轻易在生产环境使用0.文件目录下面的文件按照这个目录层级放置,首先创建/docker/redis文件夹,/docker/redis对应下边图中REDIS。1.创建目录mkdir-p/docker/redis/conf/docker/redis/data/docker/redis/logschmod-R777/docker/redis/conf/doc......
  • python 异步回调传递参数 warning cell-var-from-loop
    warning:cell-var-from-loopbing解释foriinrange(10):f=lambdai:iprint(f())Thewarningmessagecell-var-from-loopisemittedbyPylint,aPythoncodeanalysistool.Thiswarningisraisedwhenavariableisdefinedinsidealoopandused......
  • ABC337 D Cheating Gomoku Narabe 题解
    QuestionABC337DCheatingGomokuNarabe给出一个\(H\timesW\)的矩阵,由o,x,.组成,一次操作为把一个.变成o,问需要最少多少次操作使得横着或竖着有连续的\(K\)个oSolution先来考虑只有一行的情况,我们定义一个长度为\(K\)的"窗口",假设需要把这个"窗口"里面的所有......
  • Centos7 nat网络模式静态ip配置。
    配置流程:1.本机找到 VMwareNetworkAdapterVMnet8,然后配置ipv4: 2:vm里找到编辑->虚拟网络编辑器,然后按第一步里配置的信息来配置 VMwareNetworkAdapterVMnet8里的网关这些。   3:进入centos7系统,配置ifcfg-ens33,vi /etc/sysconfig/network-scripts/ifcfg......
  • gdb查coredump问题流水账
     1,前言如果c++发生了coredump,该怎么办。写c++项目很是头疼的是碰到c++的coredump,程序终止的时候留的信息很有限,不知道怎么查找问题。  2,GDB介绍一直想了解GDB是怎么使用的却没怎么深入了解,只是简单熟悉了gdb的简单使用命令,比如辅助来打断点,熟悉代码调用栈的作用。(1),gdb启......
  • Canal使用和安装总结
    转载请注明出处:1.定义Canal组件是一个基于MySQL数据库增量日志解析,提供增量数据订阅和消费,支持将增量数据投递到下游消费者(如Kafka、RocketMQ等)或者存储(如Elasticsearch、HBase等)的组件。 Canal感知到MySQL数据变动,然后解析变动数据,将变动数据发送到MQ或者同......
  • 前端学习-HTML/CSS刷题笔记03
    1布局单列布局单列布局是将头部、内容区、底部在页面上垂直排列,是非常实用的一种布局方式。主要对三个区域的宽度进行统一,然后通过设置自动外边距进行居中。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X......