一. Bool类型
 
逻辑判断, C#中只有true和false两个值;
使用场景: 在分支和循环语句中, 常用作为判断条件来使用;
 
二. 关系运算符
 
关系运算符 (> < >= <= == !=), 判断后的结果会产生一个Bool类型的值.
关系运算符经常会和算术运算符连在一起使用, 因此会产生一个优先级:
算术运算符 > 关系运算符(自己的都是平级) > 逻辑运算符
注意: "==" 代表的是判断是否相等, 而 '=' 代表的是赋值运算
 
三. 逻辑运算符(&& || ! )
 
&&(逻辑与): 逻辑与运算符两边的表达式同时为真, 整个表达式的结果才为真(一假则假)
||(逻辑或): 逻辑或运算符两边的表达式同时为假, 整个表达式的结果才为假(一真则真)
!(逻辑非): 原来为真 非之后为假, 原来为假 非之后为真
注: && 和 || 运算都存在短路现象; 例如, 当进行 && 运算的时候, 如果 前面的为假, 则后面的不再执行. 同理, 当进行 || 运算的时候, 如果 前的为真, 则后面的不再执行.
int num1 = , num2 = , num3 = ;
bool res = num1 > num2 && ++num2 < num3;
Console.WriteLine(num2);
// num2 = 30, 这里 num1 > num2 为假, res 直接为False, ++num2的操作就会被略过不被执行 // 从键盘中输入三个数a,b,c 如果a 是中间数则打印出True 否则为False
Console.WriteLine("Please enter three numbers:");
int a = int.Parse(Console.ReadLine());
int b = int.Parse(Console.ReadLine());
int c = int.Parse(Console.ReadLine());
Console.WriteLine((a > b && a < c) || (a < b && a > c));
 
程序执行的三大结构: 顺序结构 分支结构 循环结构
 
四. if分支语句(重点)
 
if的第一种形式 (要么执行要么不执行)
 
if (判断条件)
{
要执行的代码;
}
// 执行机制: 当判断条件为真时, 执行{}里的代码 Console.WriteLine("Please enter two numbers:");
float a = float.Parse(Console.ReadLine());
float b = float.Parse(Console.ReadLine());
if (a > b)
{
Console.WriteLine("a = {0}" , a);
}

if的第二种形式(二者必选其一执行)

if (判断条件)
{
代码一;
}
else
{
代码二;
} // 输入一个年份, 判断它是否是一个闰年
Console.WriteLine("Please enter the year:");
int year = int.Parse(Console.ReadLine());
if (year % == || (year % == && year % !=))
{
Console.WriteLine("这是一个闰年.");
}
else
{
Console.WriteLine("这不是一个闰年");
} // 逢七过
Console.WriteLine("Please enter the number:");
int num = int.Parse(Console.ReadLine());
if (num % != && num % != && num / != )
{
Console.WriteLine(num);
}
else {
Console.WriteLine( "过");
}

if的第三种形式(适用于多种条件并存的时候)

if (判断条件1)
{
代码1;
if (判断2)
{
代码2;
}
else{
代码3;
}
}
else
{
代码4;
}
// 判断年龄是否在[18, 28], 如果在打印"可以考虑", 否则打印"很可惜年龄不符合", 如果年龄在,继续判断身高是
//是否在[155, 170]之间的, 如果在打印"是我的菜", 否则打印""对不起身高不合适".
Console.WriteLine("你多大了?");
int age = int.Parse(Console.ReadLine()); if (age >= && age <= )
{
Console.WriteLine("可以考虑哦~");
Console.WriteLine("那你多高呢?");
int tall = int.Parse(Console.ReadLine());
if (tall >= && tall <= )
{
Console.WriteLine("你是我的菜~");
}
else
{
Console.WriteLine("对不起, 身高不合适...");
}
}
else
{
Console.WriteLine("很可惜年龄不合适...");
}
 
第四种形式
 
if(判断条件1)
{
代码1;
}
else if(判断条件2)
{
代码2;
}
else
{
代码3;
} // 输入一个字符, 如果是数字打印"是数字", 如果是小写字母, 打印"是小写字母", 如果是大写字母打印
// "是大写字母"
Console.WriteLine("Please enter something:");
int a = Console.Read();
if (a >= && a <= )
{
Console.WriteLine("number");
}
else if (a >= && a <= )
{
Console.WriteLine("Upper word");
}
else if (a >= && a <= )
{
Console.WriteLine("Lower word");
}

五. switch语句

注意:

1.每有一种情况就要有一个case;
2.default 不是必须的, 可写可不写, 主要看用户体验;
3.case后面可以是整型表达式/ char / 枚举 / 字符串;
4.case是无序的;
5.可以向下贯穿 -- case后面什么也没有的始胡就会执行下一个Case里的代码;
 
 
六. 三目运算符(条件运算符 ? :)
 
格式 : 条件表达式 ? 表达式1 : 表达式2;
原理: 当条件表达式成立时, 返回出表达式1 的结果, 否则返回表达式2的结果
 
 
 
补充一些VS2019的快捷键

 
 

C#学习笔记02--Bool,关系/逻辑运算符, if/switch语句的更多相关文章

  1. 软件测试之loadrunner学习笔记-02集合点

    loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...

  2. 机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN)

    机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN) 关键字:邻近算法(kNN: k Nearest Neighbors).python.源 ...

  3. OpenCV 学习笔记 02 使用opencv处理图像

    1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...

  4. SaToken学习笔记-02

    SaToken学习笔记-02 如果排版有问题,请点击:传送门 常用的登录有关的方法 - StpUtil.logout() 作用为:当前会话注销登录 调用此方法,其实做了哪些操作呢,我们来一起看一下源码 ...

  5. Redis:学习笔记-02

    Redis:学习笔记-02 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 4. 事物 Redis 事务本 ...

  6. Qt Creator 源码学习笔记02,认识框架结构

    阅读本文大概需要 6 分钟 在上一篇大概了解了关于Qt Creator 基础知识后[1],本篇先学习下框架基本结构,这样能够清晰的知道这个框架当中包含哪些文件.文件夹.工程文件,这些文件分别代表什么意 ...

  7. [Golang学习笔记] 02 命令源码文件

    源码文件的三种类型: 命令源文件:可以直接运行的程序,可以不编译而使用命令“go run”启动.执行. 库源码文件 测试源码文件 面试题:命令源码文件的用途是什么,怎样编写它? 典型回答: 命令源码文 ...

  8. 类型和变量(C#学习笔记02)

    类型和变量 [C#类型和变量(原文参考官方教程)]https://docs.microsoft.com/zh-cn/dotnet/csharp/tour-of-csharp/types-and-var ...

  9. OGG学习笔记02

    实验环境:源端:192.168.1.30,Oracle 10.2.0.5 单实例目标端:192.168.1.31,Oracle 10.2.0.5 单实例 1.模拟源数据库业务持续运行 2.配置OGG前 ...

随机推荐

  1. python小例子(二)

    1.在函数里面修改全局变量的值 2.合并两个字典.删除字典中的值 3.python2和python3 range(1000)的区别 python2返回列表,python3返回迭代器 4.什么样的语言可 ...

  2. BFM模型介绍及可视化实现(C++)

    BFM模型介绍及可视化实现(C++) BFM模型基本介绍 Basel Face Model是一个开源的人脸数据库,其基本原理是3DMM,因此其便是在PCA的基础上进行存储的. 目前有两个版本的数据库( ...

  3. Map文件从IDA到OD

    目录 什么是map文件 IDA与OD导出使用map文件 注意事项 使用OD载入导出的map文件 什么是map文件 什么是 MAP 文件? 简单地讲, MAP 文件是程序的全局符号.源文件和代码行号信息 ...

  4. SpringBootCLI 命令行工具

    Spring Boot CLI 是用于快速开发 Spring 应用的命令行工具.用来运行 Groovy (与 Java 风格类似)脚本. spring-cli 似乎不是可以各种diy spring-b ...

  5. API 接口开发规范

    整体规范建议采用RESTful 方式来实施. 协议 API与用户的通信协议,总是使用HTTPs协议,确保交互数据的传输安全. 域名 应该尽量将API部署在专用域名之下.https://api.exam ...

  6. MongoDB的基础命令

    MongoDB的介绍 MongoDB: 是一个基于bson(二进制json)的NoSQL数据库 MongoDB的三要素: 数据库: 类似于MYSQL的数据库 集合: 类似于MYSQL的表 文档: 类似 ...

  7. 带你上手一款下载超 10 万次的 IDEA 插件

    作者 | 倪超(银时) 阿里云开发者工具产品专家 本文整理自 11 月 7 日社群分享,每月 2 场高质量分享,点击加入社群. 导读:Cloud Toolkit 是本地 IDE 插件,帮助开发者更高效 ...

  8. 使用Typescript重构axios(九)——异常处理:基础版

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  9. P2115 [USACO14MAR]破坏(二分答案)

    给定一串数,问删除中间一段,剩下的平均数最小是多少: 不容易想到这是个二分. $solution:$ 来手玩一点式子: 首先很容易想到一个前缀和$sum_i $表示i到1的前缀和,这样就能很容易地O( ...

  10. st表复习笔记

    st表,一种高效的区间最值查询(RMQ)算法.本质其实是一个动态规划. 其实吧,对于看过线性dp的人来说应该不难理解,只是处理有些麻烦.但是本土狗因为-1的问题居然改了许久... 用两个2^i的区间把 ...