一、逻辑表达式
① && (逻辑与)
② || (逻辑或)
③ ! (逻辑非)
逻辑运算符两边一般情况都是关系表达式。
Ⅰ、
表达式 1 |
表达式 2 |
表达式 1 && 表达式 2 |
True |
true |
True
扫描二维码关注公众号,回复:
8500144 查看本文章
|
true |
false |
False |
false |
true |
False |
false |
False |
false |
结论:逻辑与(&&)
如果表达式 1与表达式 2 有一个为 false,那么整个表达式的结果为 false;
如果表达式的结果都为 true,那么整个表达式的结果 true。
Ⅱ、
表达式 1 |
表达式 2 |
表达式 1 || 表达式 2 |
true |
false |
True |
false |
true |
True |
false |
false |
False |
true |
true |
true |
结论:逻辑或(||)
如果表达式 1||表达式 2 有一个结果为 true,那么整个表达式的结果为true;
如果两个表达式的结果都为false,那么最后结果为false。
Ⅲ、
表达式 1 |
! 表达式 1 |
true |
False |
false |
true |
结论:如果表达式是正确的,那么取反后,就是错误的;
如果表达式是错误的,那么取反后就是对的。
二、判断闰年练习
闰年的判定(符合下面两个条件之一)
- 年份能够被400整除(如2000)
- 年份能够被4整除但不能被100整除(如2008)
Console.WriteLine("请输入年份");
string strYear = Console.ReadLine();
int year = Convert.ToInt32(strYear);
bool result = (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);
Console.WriteLine(result );
Console.ReadKey();
三、if结构(if-else)
Console.WriteLine("请输入跪键盘的时间");
string strMin = Console.ReadLine();
int min = Convert.ToInt32(strMin);
bool result = min > 60;
if (result ) //条件 或者是bool值
{
Console.WriteLine("不用跪键盘了");
}
Console.ReadKey();
① if语句:首先判断括号中的条件,如果条件成立,则执行大括号中的语句,如果条件为false,则直接跳过大括号,执行后面或下面的代码
有条件的执行一条语句,有可能一条都不执行
② if-else:有条件的执行一条语句,至少执行一条语句
语法:
先判断括号中的条件是否成立,如果成立则执行if下面那个打括号里的语句,
如果条件为false,则执行else大括号里的语句
//要求用户输入两个数a、b,如果a和b整除或者a加b大于100,则输出a的值,否则输出b的值
Console.WriteLine("请输入a的值");
int a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入b的值");
int b = Convert.ToInt32(Console.ReadLine());
if(a%b==0||a+b>100)
{
Console.WriteLine(a);
}
else
{
Console.WriteLine(b);
}
Console.ReadKey();
四、switch-case
是多分支结构,多对值进行判断
语法:
switch(表达式)
{
case 值1:语句块1;
break;
case 值2:语句块2;
break;
default:语句块3;
break;
}
执行过程:首先计算表达式,然后根据 计算结果 去匹配case后的值,如果有匹配项,则执行匹配项后面的语句,直到break语句跳出switch-case。如果所有的case值都不匹配,那么有default,则执行default后面的语句,直到break结束。如果没有default,则跳出switch-case,什么都不执行。
例子:
Console.WriteLine("请输入您的成绩");
int score = Convert.ToInt32(Console.ReadLine());
switch (score / 10)
{
case 9:
case 10:
Console.WriteLine("A");
break;
case 8:
Console.WriteLine("B");
break;
case 7:
Console.WriteLine("C");
break;
case 6:
Console.WriteLine("D");
break;
default:
Console.WriteLine("E");
break;
}
Console.ReadKey();
If-else if与switch的比较
相同点:都可以实现多分支结构
不同点:
- switch:一般只能用于等值比较
- if-else if:可以处理范围
五、try-catch的使用
C#中异常捕获机制
try
{
有可能出现错误的代码;
}
catch
{
如果try中的代码出现异常,则进去catch中
}
上面的程序如何执行:
- 如果try中的代码没有出错,则程序正常运行完try中的内容后,不会执行catch中的内容。
- 如果try中的代码一旦出错,程序立即跳入catch中去执行代码,那么try中的出错代码后面的代码不再执行了。