一、if判断
// if语法
/*
if(判断条件)
{
要执行的代码;
}
*/
// if语句
// 为真
if (5 > 3)
{
Console.WriteLine("5>3");
}
Console.WriteLine("我是后续的代码");
效果图:

// 为假
if (5 < 3)
{
Console.WriteLine("5>3");
}
Console.WriteLine("我是后续的代码");

if判断的执行过程
程序运行到if处,首先判断if后面小括号中的判断条件,如果条件成立,也就是返回true,则执行if所带的大括号中的代码,如果判断条件不成立,也就是返回false,则跳过if结构,继续向下执行;
if判断的特点
先判断,再执行,有可能一行代码都不执行;
if案例
例:游戏开始运行,检查联网状态,更新资源
bool wifi = true;
if (wifi == false)
{
Console.WriteLine("无网络");
Console.ReadKey();
}
Console.WriteLine("游戏继续");
效果图:
当wifi==true;

当wifi==false;

二、if...else...判断
// if...else...语法
/*
if(判断条件)
{
要执行的代码;
}else{
要执行的代码;
}
*/
// if...else... 语句
if (5 < 3)
{
Console.WriteLine("5真的大于3");
}
else
{
Console.WriteLine("hehe");
}
Console.WriteLine("我是后面的代码");
效果图:

if...else...判断的执行过程
程序执行到if处,首先判断if所带的小括号中的判断条件是否成立,如果成立也就是返回一个突然,则执行if所带的大括号中的代码,执行完毕后,跳出if…else…结构;如果不成立,也就是返回一个false,则跳过if语句后的括号,执行else所带的大括号中的代码,执行完毕后,同样跳出if…else结构;
if...else...判断的特点
先判断,再执行,最少都要执行一条代码,用于两种情况的判断;
if...else...案例
例:模拟账号登录
string userName = "coco";
string passWoed = "123456";
if (userName == "coco" && passWoed=="123456")
{
Console.WriteLine("登录成功");
}
else
{
Console.WriteLine("登录失败,留在此页面");
}
效果图:
条件成立

条件不成立

三、if…else…if…else…多重判断
// if...else...if...else...语法
/*
if(判断条件)
{
要执行的代码;
}else if(判断条件)
{
要执行的代码;
}
......
else
{
要执行的代码;
}
*/
// if...else...if...else...语句
int H = 5;
if (H > 0 && H < 8)
{
Console.WriteLine("我在睡觉中...");
}
else if (H > 8 && H < 17)
{
Console.WriteLine("我在上班中...");
}
else if (H > 17 && H < 20)
{
Console.WriteLine("我的自由时间...");
}
else
{
Console.WriteLine("不知道干啥的时间");
}
效果图:

if…else…if…else…多重判断的执行过程
程序首先判断第一个if所带的小括号中的判断条件,如果条件成立,也就是返回一个true,则执行该if所带的大括号中的代码,执行完成后,立刻跳出判断结构,如果第一个if所带的判断条件不成立,也就是返回一个false,则继续向下进行判断,依次的判断每一个if的判断条件,如果成立,就是执行该if所带的大括号中的代码,如果不成立,则继续向下判断;如果每个if所带的判断条件都不成立,就看当前的这个判断结构中是否有存在独立的else,如果有独立的else则执行else中所带的代码,吐古没有独立的else,则整个判断就神马都不做,最后的else可以省略不写;
if...else...if...else...判断的特点
用来处理多条件(条件>2)的区间判断;
if...else...if...else...案例
例:游戏副本通关后的等级评定(只用事件来判断)S,A,B,C;
int time = 33;
if (time > 0 && time <= 20)
{
Console.WriteLine("S级");
}
else if (time > 20 && time <= 30)
{
Console.WriteLine("A级");
}
else if (time > 30 && time <= 40)
{
Console.WriteLine("B级");
}
else if (time > 40 && time <= 50)
{
Console.WriteLine("C级");
}
效果图:
S级:

A级:

B级:

C级:
