一. Bool类型
逻辑判断, C#中只有true和false两个值;
使用场景: 在分支和循环语句中, 常用作为判断条件来使用;
二. 关系运算符
关系运算符 (> < >= <= == !=), 判断后的结果会产生一个Bool类型的值.
关系运算符经常会和算术运算符连在一起使用, 因此会产生一个优先级:
算术运算符 > 关系运算符(自己的都是平级) > 逻辑运算符
注意: "==" 代表的是判断是否相等, 而 '=' 代表的是赋值运算
三. 逻辑运算符(&& || ! )
&&(逻辑与): 逻辑与运算符两边的表达式同时为真, 整个表达式的结果才为真(一假则假)
||(逻辑或): 逻辑或运算符两边的表达式同时为假, 整个表达式的结果才为假(一真则真)
!(逻辑非): 原来为真 非之后为假, 原来为假 非之后为真
注: && 和 || 运算都存在短路现象; 例如, 当进行 && 运算的时候, 如果 前面的为假, 则后面的不再执行. 同理, 当进行 || 运算的时候, 如果 前的为真, 则后面的不再执行.
int num1 = 20, num2 = 30, num3 = 50; 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));0
程序执行的三大结构: 顺序结构 分支结构 循环结构
四. 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 % 400 == 0 || (year % 4 == 0 && year % 100 !=0)) { Console.WriteLine("这是一个闰年."); } else { Console.WriteLine("这不是一个闰年"); } // 逢七过 Console.WriteLine("Please enter the number:"); int num = int.Parse(Console.ReadLine()); if (num % 7 != 0 && num % 10 != 7 && num / 10 != 7) { 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 >= 18 && age <= 28) { Console.WriteLine("可以考虑哦~"); Console.WriteLine("那你多高呢?"); int tall = int.Parse(Console.ReadLine()); if (tall >= 155 && tall <= 170) { 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 >= 48 && a <= 57) { Console.WriteLine("number"); } else if (a >= 65 && a <= 90) { Console.WriteLine("Upper word"); } else if (a >= 97 && a <= 122) { Console.WriteLine("Lower word"); }
五. switch语句
注意:
1.每有一种情况就要有一个case;
2.default 不是必须的, 可写可不写, 主要看用户体验;
3.case后面可以是整型表达式/ char / 枚举 / 字符串;
4.case是无序的;
5.可以向下贯穿 -- case后面什么也没有的始胡就会执行下一个Case里的代码;
六. 三目运算符(条件运算符 ? :)
格式 : 条件表达式 ? 表达式1 : 表达式2;
原理: 当条件表达式成立时, 返回出表达式1 的结果, 否则返回表达式2的结果
补充一些VS2019的快捷键
来源:https://www.cnblogs.com/skylar-AKS/p/11937673.html