黑马程序员-循环/枚举/常量/结构/数组/冒泡排序
循环结构
Int i=0;
While(i<1000)
{
Console.writeline(“hello.world”);
i++;
}
While循环的语法:
While(循环条件)
{
循环体
}
执行过程:
1, 先判断循环条件,如果条件为true,则转向2,如果条件为false转向3
2, 执行循环体,循环体执行完后转向1
3, 跳出循环,循环结束
注意:在循环体中,一定要改变循环条件中的某个变量的值,使循环能够结束
N次循环,如果i从0开始,则循环条件为i<n
I控制循环次数,所以i又叫做循环变量
While特点:先判断后执行
Do-while
Do
{循环体}
While(条件)
1执行循环体
2判断条件是否成立,如果条件为true则转向1,如果条件为false,则转向3
3跳出循环
假如对于循环条件一开始就不成立,对于while循环一次都不会执行,对于do-while循环会执行一次,所以对于do-while循环体至少会执行一次
For 循环
语法
For(表达式1;表达式2;表达式3)
{
循环体;
}
执行过程:
第一步:计算表达式1,转向第二步
第二步:计算表达式2(循环条件)。如果表达式2的值为true,转向第3步,如果表达式2的值为false转向第5步
第三步:执行循环体,转向第4步
第四步:执行表达式3,转向第2步
第五步:循环结束
一般情况下,表达式1用于定义循环变量,和对循环变量赋初值,表达式2是循环条件,表达式3用于改变循环变量的值
Continue:立刻下一次循环
Break:跳出循环或switch
枚举、常量、结构
常量:const 类型 常量名=常量值
枚举:让我们定义一种类型,并且在定义这种类型时,我们要指定这个类型的所有值
语法:enum 自已起的类型名 {都有哪些值,用逗号分隔}
枚举的定义,一般和类定义在同一个级别,这样在同一个命名空间下的所有类就都可以使用这个枚举了
例如:enum gender{男,女}
Gender sex;\\定义了一个类型为gender的变量sex
Sex=gender.男;
注意:定义枚举时,值不能是int类型
枚举类型的变量都可以强制转换为int类型{男,女},男为0,女为1
枚举的值在定义时是有一个默认编号的,编号从0开始
{男=1,女}此时男编号为1,女编号为2
如何把一个字符串转换成枚举类型
(gender)(enum.parse(type of (gender)),”male”)
结构
为什么要用结构:
1, 比如我们上课讲的为了存储一个人的信息,要声明一组变量,当我们要存储n个个的信息时就要声明n组变量,很麻烦
2, 存储一个人的信息的这几个变量之间没有关系,容易记乱
语法
访问修饰符 struct 结构名
{定义结构成员}
例如
Public struct person//定义了一个叫person的结构
{public string name;
Public gender sex;
Public int age;
}
定义好一个结构后,就可以直接声明相应的变量了,声明好变量后通过变量名.成员名为访问结构成员
Person oneperson;
Oneperson.name=”张三”;
Oneperson.age=”50”;
Oneperson.sex=”女”;
数组
数组可以帮我们一次声明多个同类型的变量,这些变量在内存中是连续存储的
语法:数据类型[] 数组名=new 数据类型[数组长度]
Int[] score=new int[5];//声明了一个长度为5的数组,数组叫score
Int[] score={10,20,30};//声明了一个长度为3的数组,并赋值int[0]=10 int[1]=20 int[2]=30
Int[] score=new int[]{3,5,8}或Int[] score=new int[3]{3,5,8}
能过下标来访问数组
比如,我们要向第0个无素赋一个3,可以这样写
Score[0]=3;
Int类型数组一旦声明,里面的每个元素都被初始化成0
定义一个方法
Public static int readint()
{
Int number=0
Do{
Try{
Number=convert.toint32(console.readline());
Return number;
}
Catch
{
Console.writeline(“输入有误,请重新输入”);
}
}
While(true);
}
使用方法
Console.writeline(“请输入你的年龄”);
Int age= readint();
Console.writeline(“请刚刚输入的年龄为”+age);
冒泡排序:
让数组中的元素两两比较,第i个与第i+1个比较,经过n(i-1)遍两两比较,数组中的元素,能按照我们预期的规律排序,要从大到小排序,我们进行两两比较的时候使用<
N个数需要排n-1趟
For(int i=0;i<score.length-1;i++)//控制比较趟数
{
for(int j=0;j<score.length-1-I;j++)
{
if(score[j]<score[j+1])
{int temp=scores[j];
Score[j]=score[j+1];
Score[j+1]=temp;
}
}
}

浙公网安备 33010602011771号