C#学习笔记02--Bool,关系/逻辑运算符, if/switch语句
2024-09-01 17:32:26
一. 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的快捷键
最新文章
- 软件工程(FZU2015)赛季得分榜,第10回合(alpha冲刺)
- NEFU 560 半数集
- 互联网+下PDA移动智能手持POS超市收银开单软件
- 爱上MVC系列~带扩展名的路由失效问题
- PHP标准库 (SPL) 笔记
- 使用ConfigurationManager类读写配置文件
- HTML5中的文本级语义
- LPC1768之看门狗
- Zend Guard Run-time support missing问题的解决
- 关于 ASP.NET vNext
- hdu 5648 DZY Loves Math 组合数+深搜(子集法)
- WP8模拟器需要BIOS开启虚拟化支持(转载)
- Android Learning:多线程与异步消息处理机制
- ecshop优化修改sitemap.xml到根目录
- angular destroy &; jquery destroy
- MySQL学习笔记(二):MySQL数据类型汇总及选择参考
- jquery的输入框自动补全功能+ajax
- Nginx+Keepalived双机热备
- nfs+rsync备份
- net spider(python 网络爬虫)
热门文章
- SpringBoot与MybatisPlus3.X整合之动态表名 SQL 解析器(七)
- 设计模式C++描述----11.组合(Composite)模式
- 【网络安全】HTTPS为什么比较安全
- Map文件从IDA到OD
- SpringBoot2.1.9+dubbo2.7.3+Nacos1.1.4构建你的微服务体系
- uWSGI+django+nginx 的工作原理流程与部署历程
- H5 + WebGL 实现的楼宇自控 3D 可视化监控
- LVS DR模式实践
- Kettle(6.0) 参数方式连接数据库
- 20190630A(贪心)