C#学习笔记02--Bool,关系/逻辑运算符, if/switch语句

孤街浪徒 提交于 2019-11-27 15:28:04
一. 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的快捷键

 

 

 

 
 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!