一. 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的快捷键

 
 

最新文章

  1. 软件工程(FZU2015)赛季得分榜,第10回合(alpha冲刺)
  2. NEFU 560 半数集
  3. 互联网+下PDA移动智能手持POS超市收银开单软件
  4. 爱上MVC系列~带扩展名的路由失效问题
  5. PHP标准库 (SPL) 笔记
  6. 使用ConfigurationManager类读写配置文件
  7. HTML5中的文本级语义
  8. LPC1768之看门狗
  9. Zend Guard Run-time support missing问题的解决
  10. 关于 ASP.NET vNext
  11. hdu 5648 DZY Loves Math 组合数+深搜(子集法)
  12. WP8模拟器需要BIOS开启虚拟化支持(转载)
  13. Android Learning:多线程与异步消息处理机制
  14. ecshop优化修改sitemap.xml到根目录
  15. angular destroy &amp; jquery destroy
  16. MySQL学习笔记(二):MySQL数据类型汇总及选择参考
  17. jquery的输入框自动补全功能+ajax
  18. Nginx+Keepalived双机热备
  19. nfs+rsync备份
  20. net spider(python 网络爬虫)

热门文章

  1. SpringBoot与MybatisPlus3.X整合之动态表名 SQL 解析器(七)
  2. 设计模式C++描述----11.组合(Composite)模式
  3. 【网络安全】HTTPS为什么比较安全
  4. Map文件从IDA到OD
  5. SpringBoot2.1.9+dubbo2.7.3+Nacos1.1.4构建你的微服务体系
  6. uWSGI+django+nginx 的工作原理流程与部署历程
  7. H5 + WebGL 实现的楼宇自控 3D 可视化监控
  8. LVS DR模式实践
  9. Kettle(6.0) 参数方式连接数据库
  10. 20190630A(贪心)