黑马程序员-关于结构

---------------------- 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个。

★成绩在8090之间,不能表达成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就会自动排好版

2else永远和最近的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 ifswitch的比较

相同点:都可以实现多分支结构

不同点:switch一般只能用于等值比较(在匹配)

if-else if:可以用于等值或者不等值的比较,并且可以处理范围

数据类型:int doublechar 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/






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值