if选择
如果我们希望分情况来执行代码,那么我们需要流程控制语句。
一般来说,代码都是从上往下依次执行的。流程控制语句可以控制代码执行的顺序,以及执行的次数。
if选择的写法是关键字if+小括号(里面写条件)+语句块。语句块里的内容只有当条件满足时才会执行。
在if的条件后面,和大括号后面都不需要打分号。因为他们是连在一起的,而语句块不是语句
else
如果希望在条件不满足时执行一些事,不需要再写一遍反转的if。
只需要在if的大括号后面加关键字else,然后再接一对大括号。
if-else
else会在之前的条件不满足时执行,如果在条件不满足时,还希望满足其他的条件才执行。
那么可以在else后面继续写if和条件。
Console.WriteLine("请输入一个数");
int i = int.Parse(Console.ReadLine());
if (i < 10)
{
Console.WriteLine("你输入了一个个位数");
}
else if (i < 100)
{
Console.WriteLine("你输入了一个两位数");
}
else if (i < 1000)
{
Console.WriteLine("你输入了三位数");
}
只要你愿意,这条if链可以无限接下去。
但没有if的else只能放在结尾。因为这个没有任何条件,没有不满足条件的情况。
条件常量检测
如果条件部分是一个常量(或常量表达式),那么编译器会检测出不可能执行的代码。
不可预测的变量初始值
如果你的条件不是常量,
也没有必定能经过一个初始值的流程,
那么编译器不会认为你声明的无初始值变量具有初始值。
尽管你认为b是一定会有初始值的,但编译器就是觉得这个if可能不经过。
不经过就没有初始值。
但是如果有必定经过的else,且所有流程中都进行了赋值初始值,那么编译器会认为有初始值。