最简答的if语句
if(表达式)
{
语句块
}
使用if语句时,如果只有一条语句,省略{}是没有语法错误的,而且不影响程序的执行,但是为了程序代码的可读性。建议不要省略
if···else语句
if(表达式)
{
语句块1;
}
else
{
语句块2;
}
程序中使用if···else语句时,如果出现if语句多于else语句的情况,将会出现悬垂else问题
if(x>1)
if(y>x)
y++;
eles
x++ ;
如果遇到上面的情况,记住:在没有特殊处理的1情况下,else永远都与最后出现的if语句相匹配
如果要改变else语句的匹配对象,可以用大括号,例如,将上面代码修改如下
if(x>1)
{
if(y>x)
{
y++;
}
}
if(x>1)
{
if(y>x)
{
y++ ;
}
}
else
{
x++ ;
}
else 与if(x>1)相匹配
if···else if··· else 语句
if(表达式1)
{
语句1 ;
}
else if (表达式2)
{
语句2 ;
}
else if (表达式3)
{
语句3 ;
}
···
else if(表达式m)
{
语句m
}
else
{
语句n
}
if语句的嵌套
if(表达式1)
{
if(表达式2)
语句1 ;
else
语句2 ;
}
else {
if(表达式3)
语句2;
else
语句3 ;
}
switch 语句
switch(判断参数)
{
case 常量1 :
语句快1
break ;
case 常量2 :
语句块2
break;
···
defaul :
语句快n+1 ;
break ;
}
switch 关键字后面的括号()中是要判断的参数,参数必须是sbyte,byte,short,ushort,int,uint,long,ulong,char,string,bool或者枚举类型中的一种,大括号{}的代码是由多个case字句组成的,每个case关键字后面都有相应的语句块。如果符合常量值,则case下的语句块就会被执行,语句块执行完毕后,执行break语句,使程序跳出switch语句,如果条件得不到满足,则就执行defualt语句块
注意:
- case 后的各常量值不可以相同,否则会出现错误
- case 后面的语句块可以包含多条语句,不必使用{}大括号括起来
- case 语句和default语句的顺序可以改变,但不会影响程序的执行结果
- 一个switch语句中只能有一个defualt语句,而且default语句可以省略
常见错误:
(1)使用switch语句时,常量表达式不可以是浮点型。例如以下就不行
double dNum = Convert.ToDouble(Console.ReadLine);
switch (dNum)
{
case 1.0:
Console.WriteLine("分支一");
break;
case 2.0:
Console.WriteLine("分支二");
break;
}
(2)使用switch语句时,每一个case语句或者default后面必须有一个break关键字,否则,就会出现控制不能从一个case标签("default:")贯穿到另一个case标签
switch与if···else if···else 区别
if···else if ··· else语句也可以实现多分支选择的情况但是它主要是对布尔表达式,关系表达式或者逻辑表达式,
而switch多分支语句主要对常量值进行判断。
while 循环和do···while循环
while 循环
语法格式
while(表达式)
{
语句
}
表达式一般是一个关系表达式或一个逻辑表达式,其表达式应该是一个逻辑值真或假。当表达式的值为真时,开始循环;而当表达式的值为假时,则退出循环,执行循环外的下一条语句
do···while循环
特点是 先执行循环体,再判断循环条件
for循环
for循环的一般形式
for(表达式1;表达式2;表达式3)
{
语句组
}
for循环的变体
1.省略“表达式1”的情况
for(;iNum<=100;iNum++){
sum +=iNum;
}
2.省略“表达式2”
3.省略“表达式3”
练习九九乘法表
int iRow, iColumn;
for (iRow = 1; iRow < 10; iRow++)
{
for (iColumn = 1; iColumn <=iRow; iColumn++)
{
Console.Write("{0}*{1}={2}", iColumn, iRow, iRow * iColumn);
}
Console.WriteLine(" ");
}
Console.ReadLine();
跳转语句
break语句
作用跳出循环体,执行循环体之外的语句
continue语句
用于忽略循环语句内位于它后面的代码而直接开始下一个循环。
说明:continue一般会结合if语句进行搭配,表示在某种情况下不执行后面的语句,直接开始下一次的循环
int iSum = 0;
int iNum = 1;
for (; iNum <= 100; iNum++)
{
if (iNum % 2 == 1)
{
continue;
}
iSum += iNum;
}
Console.WriteLine("1到100之间的偶数之和:" + iSum);
Console.ReadLine();//因为我们在运行的时候,小黑框会闪退,Console.ReadLine()是输入语句,为了让控制台可以暂停