---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
结构分为顺序结构(按顺序执行的语句)、循环结构、分支结构
1)分支结构
♥if结构
基本语法:
if(条件)
{语句块;}
执行过程:
首先判断条件结果,为true,则执行语句块;如果条件结果为false,则跳过语句块执行后面
注意:
1、if后面括号中的条件要能计算成一个bool类型的值
2、默认情况下,if语句只带1句话,即和if语句有关系的语句
♥if-else结构
语法:
if(条件)
{语句块1;}
else
{语句块2;}
执行过程:
如果条件为true,则执行if带的语句块1,并且跳过else带的语句块2;
如果条件为false,则跳过if带的语句块1,执行else带的语句块2;
上面两个语句块,根据条件为true或者false总要执行1个。
★成绩在80—90之间,不能表达成80<score<90,两个<优先级别相同,从左到右依次运算,
80<score是个关系表达式,结果为True,True不能和int型不能比较,所以错误,应该表达为score>80 && score<90;
♥if-else if结构
执行过程:
只有当上一个条件不成立时才会进入下一个if语句并进行if语句后面的条件判断。一旦有一个if后面的条件为true,则执行此if所带的语句(块),语句(块)执行完成后,程序跳出if-else if结构。如果所有的if条件都不成立,如果最后有else则执行else所带的语句,否则什么都不执行。
小技巧:1、如果排版不对,按住Ctrl再按K再按F就会自动排好版
2、else永远和最近的if配对
3、通过标志位可以知道是否执行一段代码,比如开始为flag=true,结束时flag=false
♥switch-case
switch-case的语法:
switch(表达式)//表达式计算的值可能为值1、值2等
{
case 值1:语句块1;
break;
case 值2:语句块2;
break;
default:语句块3;
break;
}
执行过程:首先计算表达式,然后根据计算结果去匹配case后面的值,如果有匹配项,则执行匹配项后面的语句,直到break语句跳出switch-case。如果所有的case值都不匹配,那么有default,则执行default后面的语句直到break结束,如果没有default,则跳出switch-case什么都不执行。
注意:switch后面的表达式值直接去搜索匹配项,与default的位置无关。
技巧:if-else if与switch的比较
相同点:都可以实现多分支结构
不同点:switch一般只能用于等值比较(在匹配)
if-else if:可以用于等值或者不等值的比较,并且可以处理范围
数据类型:int 、double、char 、string 、bool 、decimal
注意:如果多种情况输出结果一样可以合写,可以共用一段代码。
Switch-case一般不表示范围,但是特殊情况可以
例子:score>90:A
90>score>80:B
80>score>70:C
70>score>60:D
60>score:E
如果用switch-case语句的话可以将score/10的得到的就是确切的值。
2)循环结构
★while的语法
while(循环条件)
{
循环体(要循环执行的N条语句);
}
★小技巧:占位符后面加冒号和两个零,表示结果为两位数,不够补零
Console.WriteLine("{0}*{1}={2:00}")
执行过程:
1、先判断循环条件,如果条件为true则转向2;如果条件为false则转向3
2、执行循环体,循环体执行完成后转向1
3、跳出循环,循环结束
注意:1、循环体中必须有一句话可以改变循环条件中变量的值,使其终有成为false的时候,可以跳出循环,避免死循环。(比如i++)
2、实现n次循环,若i=0,则i<n;若i=1,则i<=n,i控制循环次数,所以i叫做循环变量
特点:先判断,再执行
★do-while为先执行,后判断
Do-while语法
do{循环体;}
While(条件);
执行过程:
1、执行循环体
2、判断条件是否成立,如果条件为true,转向1;如果条件为false则转向3
3、跳出循环,循环结束
假如循环条件一开始就不成立,对于while循环一次都不会执行;对于do-while循环体会执行一次,所以do-while的循环体一般至少会被执行一次。
★try-catch检测异常(异常捕获机制)
try
{
有可能出现异常的代码
}
Catch
{
出错后的处理
}
执行过程:
如果try中的代码没有出现异常,则程序正常运行try中的内容后不会执行catch中的内容。
如果try中的代码一旦异常,程序立即逃入catch中去执行代码,那么try中的出现异常的代码不运行。
◆注意:flag可以避免冗余
string name ;
string password ;
bool flag = false;
do
{
flag = false;//必须在开始初始化,否则进入if中,则flag成为true将一直循环·
Console.WriteLine("请输入用户名?");
name = Console.ReadLine();
Console.WriteLine("请输入密码");
password = Console.ReadLine();
if (name != "admin" || password != "888888")
{
Console.WriteLine("用户名或密码错误,请重新输入?");
flag = true;
}
} while (flag);
Console.WriteLine("输入正确);
★for循环
一般情况下用于已知循环次数
语法:
for(表达式1;表达式2;表达式3)
{
循环体;
}
一般情况下表达式1用于定义循环变量和对循环变量赋初值
表达式2:循环条件
表达式3一般用于改变循环变量的值
执行过程:
第1步:计算表达式1,转向第2步
第2步:计算表达式2(循环条件),如果表达式2的条件为true,转向第三步,如果表达式2的值为false,转向第5步
第3步:执行循环体,转向第4步
第4步:执行表达式3,转向第2步
第5步:循环结束
★注意:1、嵌套循环必须内层循环执行完成后,再执行外层循环
2、for( ; ; )
{
循环体
}
如果第二个条件省略,则成为死循环,表达式1和表达式3可以写在别的地方
水仙花数:三位数。设cba.
a*a*a+b*b*b+c*c*c=cba
★break
1)可以用于switch-case判断中,用于跳出switch
2)用于循环中,立即退出当前循环(经常和if语句使用)
注意:用于循环中时,跳出的是break所在的循环
while()
{
break;//跳出整个循环,下面语句不再执行
}
小技巧:对于for循环,已知循环次数,跳出循环,可以通过break跳出,也可能是循环条件不成立。当不是通过break跳出,则循环条件不成立。可以通过循环条件来控制。
★continue
由于循环中,程序一旦执行到continue语句,立即结束本次循环(就是不再执行循环体中continue下面的语句),直接进行下一次循环条件判断,如果条件成立,则进入下次循环,否则退出循环。
while()
{
continue;//继续下一次循环,continue下面的不再执行
}
★总结:
1、顺序结构:语句顺序执行
2、分支结构:语句在满足条件下执行
●if,if-else,if-else if,switch-case
♥唯一的三元表达式
表1?表2:表3(可以替换if-else)
执行过程:首先计算表达式1,表达式1应该是能计算成bool类型的值,如果表达式1的值为true,则表达式2的值为整个表达式的值;如果过表达式1的值为false,则表达式3的值为整个表达式的值。
表达式2和表达式3的类型一定要相同(或者相兼容)
3、循环结构:语句在满足条件下循环执行多次
●While,do-while,for
4、跳转语句
●break,continue,goto(破坏程序结构,太随意,一般不用,慎重使用,很灵活)
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://net.itheima.com/