1、C#中的条件结构——【逻辑结构:选择】
a) If选择结构
² 单分支if
if(bool表达式)
{
//代码块
}
注:如果bool表达式的值为true 那么执行{}里面的代码块,
如果bool表达式的值为false 那么跳过if
² 双分支if
if(bool表达式)
{
//代码块1
}
else
{
//代码块2
}
注:如果bool表达式的值为true 那么执行代码块1
如果bool表达式的值为false 那么执行代码块2
两个代码块至少会执行一个
² 多分支if
if(bool表达式1)
{
//代码块1
}
else if(bool表达式2)
{
//代码块2
}
else
{
//代码块3
}
注:如果bool表达式1的值为true,执行代码块1,跳出多分支if,如果为假:
判断bool表达式2的值为true,执行代码块2,跳出多分支if,如果为假:
执行代码块3
if有且只有一个 else if有0个或者多个 else最多只有一个
b) C#与Java的switch选择结构对比
2、switch (int / char表达式)
3、{
4、 case 常量表达式1:
5、 语句1;
6、 break; //可以没有
7、 case 常量表达式2:
8、 语句2;
9、 break; //可以没有
10、 ……
11、 default:
12、 语句n;
13、}
14、
switch (int / char / string表达式)
{
case 常量表达式1:
语句1;
break; //必须有
case 常量表达式2:
语句2;
break; //必须有
……
default:
语句n;
break; //必须有
}
注:
(1)C#中switch的判断条件可以是string类型的表达式。
(2)C#中如果代码块不为空,那么break不可以省略
(3)大括号需要换行
(4)特殊:case 中没有其他语句时,不需要break语句
*******代码块可以是选择结构、循环结构、或者顺序结构*******
2、数组
a) 为什么使用数组:为了一次声明多个数值,方便之后使用。
b) 数组的使用:
- 【声明】数组的声明:数据类型 [] 数组名; //注:C#声明[]只能放到中间
- 【分区】分配空间:数据类型 [] 数组名=new 数据类型[数组的长度];
- 【赋值】给元素赋值:数组名[元素下标]=值; //元素下标也称之为索引,下标从0开始
- 【使用】使用——控制台输出:
- c) 数组元素的个数:使用【数组名.Length】获得数组长度;数组元素的最大下标。
- d) 对象数组:将对象作为数组元素。
- 定义对象数组--将对象作为数组的数据类型,n为数组长度
Captain[] captain=new Captain[n];
- 实例化对象--每一个对象都要进行实例化
captain[0] = new Captain();
- 为对象赋值--使用【对象.属性】赋值
captain[0].name = "朱昱宏";
captain[0].sex = "男";
注:声明、分配空间、赋值的方法:三种方法
(1)数据类型 [] 数组名={值1,值2,值3.。。。};
string[] names = { "张三", "李四", "王五", "钱六" };
(2)数据类型 [] 数组名=new 数据类型[]{值1,值2,值3.。。。};
元素的个数由大括号里面的个数决定。
(3)数据类型 [] 数组名=new 数据类型[n]{值1,值2.....值n};
注:元素个数必须等于n
在C#中正确:int[] arr1=new int[3]{1,2,3};
3、C#中的循环——【逻辑结构:循环】
a) 什么是循环:每一次操作都是一样的我们称之为循环。
b) 循环的种类:
while循环
do-while循环
for循环
foreach循环
c) 循环的四要素:
初始化循环变量
循环结束的条件
循环体
修改循环变量
d) while循环的语法:
while(bool条件)
{
//循环代码块
}
while循环过程:
1)初始化循环变量
2)判断循环条件:如果bool值为真,进入代码块,如果为假,结束循环
3)执行循环代码块:可以是选择结构、顺序结构、循环结构
4)修改循环变量
e) do-while循环的语法:
do
{
//循环体
}while(bool表达式);
do-while的执行过程:
(1)初始化循环变量
(2)执行循环体
(3)修改循环变量
(4)判断是否继续循环
注:while和do-while循环的区别:while先判断,后执行;do-while 先执行一次,再判断。
f) for循环的语法结构:
for(初始化循环变量;进入循环的条件;修改循环变量)
{
//循环体
}
for循环的执行过程:
1、初始化循环变量
2、判断进入循环的条件
3、执行循环体
4、修改循环变量
g) foreach循环的语法结构:
foreach(元素类型 变量名 in 数组名或集合名)
{
//循环体语句
}
foreach循环:
1、foreach循环一般用于遍历整个集合或数组。
2、元素类型必须和数组元素的类型一致。
注:for和foreach循环的区别:for循环固定次数,并且可以改变数组中元素的值;foreach循环不能改变数组元素的值,只能进行遍历【each——每一个】。
4、continue和break
a) continue
- 环境——只用于循环结构
- 意义——跳过,跳过下一句继续执行
b) break
- 环境——使用与循环和switch选择结构中
- 意义——中断|跳出,跳出本层执行下一层
5、冒泡排序速记口诀(升序):
² N 个数字来排队
² 两两相比小靠前
² 外层循环 N-1
² 内层循环 N-1-i
for (i = 0; i < scores.Length -1 ; i++){
for (j = 0; j < scores.Length -1 - i ; j++) {
if (scores[j] > scores[j + 1]){ // 交换元素
temp = scores[j];scores[j] = scores[j + 1]; scores[j + 1] = temp;
}
}
}