第二章 C#语法快速热身

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) 对象数组:将对象作为数组元素。
  1. 定义对象数组--将对象作为数组的数据类型,n为数组长度

Captain[] captain=new Captain[n];

  1. 实例化对象--每一个对象都要进行实例化

captain[0] = new Captain();

  1. 为对象赋值--使用【对象.属性】赋值

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

  1. 环境——只用于循环结构
  2. 意义——跳过,跳过下一句继续执行

b) break

  1. 环境——使用与循环和switch选择结构中
  2. 意义——中断|跳出,跳出本层执行下一层

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;

     }

  }

}

原文地址:https://www.cnblogs.com/suola/p/11344080.html