程序默认是顺序执行的,但我们可通过流程控制语句和循环语句来改编程序语句的执行顺序,包括顺序结构,分支结构和循环结构,是c#中重要结构。此外,数组可用于存储同一类型数据,应用广泛。
一、分支结构
1、单if语句
if可用于条件判断,基本语句为if(条件){执行语句;},若条件满足,则执行执行语句,若不满足,则跳过当前语句
2、if‑else 二选一
此结构用于二选一结构,若if中条件成立,则执行if中语句反之,执行else中语句。
例如:
3、多重else‑if
用于进行多个不同条件判断,语句格式为
if(关系表达式1)
{
执行语句1;
}
else if(关系表达式2)
{
执行语句2;
}
else{
执行语句2;
}
例如
运行结果:
二、switch语句
相较于前面的三种分支结构,该语句用于固定的值判断,其基本语法为
switch(zhi)
{
case 值1:语句1;break;
case 值2:语句2;break;
case 值3:语句3;break;
}
例如
运行结果
三、循环结构
1、while循环
先判断条件,条件 true 才执行循环体。语法为
while(表达式)
{
语句;
}
例如
运行结果:
2、for循环
同样先判断条件,条件 true 才执行循环体。语法为
for(int i;i<n;i++)
{
语句;
}
3、do while循环
先执行一次语据,再判断条件,条件 true 才执行循环体。语法为
do
{
语句;
}
while(表达式);
例如
运行结果
可以看见先运行一遍语句,再进行条件判断。
四、数组
用于存储同种类型元素,下标从0开始。
1、一维数组
1、初始化
可通过两种方式初始化,分为静态初始化和动态初始化两种方式
静态初始化:在创建数组时进行赋值,语法为 数据类型 [ ] 数组名 = new 数据类型[ 元素个数]{元素1,元素2};
静态初始化:先创建数组时后进行赋值,语法为 数据类型 [ ] 数组名 = new 数据类型[ 元素个数];
数组名[0]={元素1,元素2};
2、Array 静态工具方法
int[] nums = { 3, 1, 4, 1, 5, 9 };
Array.Sort(nums); //数组升序排序
Array.Reverse(nums); //数组元素反转
int index = Array.IndexOf(nums,5); //查找元素下标,找不到返回-1
Array.Copy(nums, copyArr, nums.Length); //复制数组
2、二维数组
1. 矩形二维数组[,],每一行元素数量相等
动态初始化 3行3列 int[,] m = new int[3, 3];
静态初始化 int[,] arr = { {90,100,65}, {88,66,77}, {79,97,80} };
2. 锯齿数组[][],每一行子数组长度可以不一样
int [][] j = new int[3][];
j= new int[] { 1, 2 };
j[1] = new int[] { 3, 4, 5, 6 };
j[2] = new int[] { 7, 8, 9 };
3、二维数组遍历
1、for循环遍历
对于矩形数组
用双层for遍历
for (int i = 0; i < jagged.GetLength(0); i++)
{
for (int j = 0; j < jagged.Length(1); j++)
{
Console.Write(jagged[i,j] + " ");
}
Console.WriteLine();
}
对于锯齿数组
用双层for遍历
2、用数组集合专用foreach循环遍历
1、矩形数组形式上为二维,实际上为一维。
2、锯齿数组
运行结果