4.1、变量
定义一个变量之后,系统会根据变量名分配地址,根据数据类型分配存贮空间。值就存放在空间中。
4.2、常量
定义常量的方法:
Const datatype name = value;
常量一般都是定义在类里面函数的外面,作为全局的,甚至可以作为public static的被所有的类调用。常量在定义的时候一定要初始化,以后就永远是这个值了。不能对已经定义好的常量再次去赋值。
4.3、分支语句
4.3.1、if语句
if语句是分支语句,有几种方式:
(1)、if(boolExpression)
{trueExpression}
(2)、if(boolExpression)
{trueExpression}
Else
{falseExpression}
(3)、if(boolExpression1)
If(boolExpression11)
{trueExpression}
Else
{falseExpression}
Else
If(boolExpression12)
{trueExpression}
Else
{falseExpression}
(4)、if(boolExpression1)
{trueExpression1}
Else if(boolExpression2)
{ trueExpression2}
Else if(boolExpression3)
{ trueExpression3}
Else if(boolExpression4)
{ trueExpression4}
Else if(boolExpression5)
{ trueExpression5}
Else
{falseExpression6}
注意:
(1)、一套if语句最终只会有一个分支是满足条件的,最终只会执行一个分支。或者没有一个分支是满足的,那么就不执行。
(2)、如果分支中只有一个语句,那么可以不加括号,直接以分号结束,但是如果不止一个语句,那么一定要加括号,括号里面的语句要以分号结束,而且括号后面不能再加分号。
(3)、在嵌套if语句中,每一个else都是与它上面的,离他最近的没有配对的if配对。
(4)、在if语句中可以结合return来使用,终止整个函数。
4.3.2、switch语句
格式如下:
switch(value)
{
Case value1:
……
Break;
Case value2:
……
Break;
.
.
.
Default:
……
Break;
}
说明:
(1)、value是在case语句外面定义的一个变量,这个变量可以是int、char、string类型,不可以是浮点型。
(2)、value变量在外面被赋值之后,与value1、value2、value3……等值进行比较,如果遇到一个相同的话,就执行该分支下面的语句,如果没有遇到相同的就要执行default。所以value要与value1、value2、value3……的类型相同。
(3)、在value与value1、value2、value3……中的各个值进行比较的时候,只要有一个相同的,那么就开始执行分支后面的语句,一直到结束都不会再跟任何分支比较了。很显然,如果该分支后面有语句的话,一定要break出来,否则会往下继续执行而不比较,直到遇到break,这个是贯穿执行,在C#中是不允许的,是会语法报错的;但是如果分支后面没有语句的话,那么可以不写break,这个时候,会往下继续执行而不比较,直到遇到break,这个是贯穿执行,但是是允许的。
(4)、default一般是最后一个分支,是其他分支都没有比较成功才会执行的,default后面的break不能省略。
4.4、循环语句
4.4.1、Foreach循环
Foreach(dataType valueName in expression)
{……}
说明:
(1)、expression是一个集合的名字,比如数组名。
(2)、dataType 是数据类型,这个类型要与集合里面的数据类型完全相同。
(3)、dataType valueName一定要加上dataType,也就是说valueName要在这个块中去定义,它的作用域就在这个块中,后面如果只有一个语句,那么就不用{},否则要加上这个括号。
(4)、对于值类型的变量valueName,执行的时候就是把集合中的每个元素的值赋给这个变量;如果valueName是引用类型的变量,那么就是把集合中的每个元素的值赋给这个引用型的变量,只不过这个值不是简单变量的值,而是一个指向引用类型的变量的引用(地址)。
(5)、foreach的好处在于它不需要知道集合中有多少元素,只需要知道集合即可。因为执行过程会遍历整个集合的每一个元素。
4.4.2、for循环
for(expression1;expression2;expression3)
{……}
(1)、expression1一般是一个对循环变量进行定义和初始化的语句,但是也可以是其他的语句,甚至为空,如果有语句也只能有一条语句。
(2)、expression2一般是一个判断条件,也可以为空,那么默认就是true了,这时要在循环体中使用break跳出,否则就是死循环。
(3)、expression3一般是对循环变量的值进行改变的语句,但是也可以为其他语句甚至可以为空。
执行顺序:第一次先执行expression1,然后expression2,然后循环体,然后expression3,再次expression2,再循环体,再次expression3……
4.4.3、while循环
while(bool)
{……}
这个一般是在while循环外面定义一个循环变量并且初始化,然后bool判断,如果为true,那么就执行循环体,在循环体中有改变循环变量值的语句,循环体执行完成之后,就去再次判断,然后再次执行循环体,直到不满足条件结束为止。Bool表达式是不能像for中那样省略的。
4.4.4、do…while循环
do{}
while(bool)
这个与while的区别是先执行一次循环体再来判断。
4.4.5、Continue和Break
注意:
在循环语句中可以使用Continue、Break:
Continue是结束本次循环,即在循环语句中遇到Continue之后,循环体中,Continue之后的都不执行了,本次循环结束,进行下一次的循环的条件判断,所以一般要在Continue前面加一个改变判断条件的语句。
Break是跳出整个循环,即遇到break之后,整个循环就结束了。
2009-02-15