一、流程控制语句
1.条件语句:对条件进行判断并根据判断的结果来决定执行的方向
1.1 if-else语句
不同于C语言if后的逻辑表达式的返回值必须为boolean值不能是非0即真(可用三目运算符实现),if语句可以不接else语句也可以跟多个if-else语句,if语句块中只有一条语句可以不用大括号else同样但最好带上,
1.2 switch语句
完全可以用if-else改写但他可以简化代码量,switch后表达式可以是整型或者String,case子句定义与表达式进行比较的常量表达式以:结束,C#中case语句块中必须有break或者goto除非没有语句块,可以有default子语句用于表示不匹配
2.迭代语句:重复执行一个语句块
2.1 for语句
其中有三部分组成赋初值、条件表达式、增量或者减量表达式可以省略其中任意一个或多个,不同于C语言第一个可以定义表达式并赋值,自要迭代变量名不重复for可以嵌套
2.2 foreach语句
专门用于迭代数组或另外集合的元素被迭代的集合应该实现IEnumerable接口
2.3 while语句
只要while后的逻辑表达式为真就不断执行代码块中代码(循环中必须有结束循环的语句)
2.4 do-while语句
与while的区别在于语句至少执行一次而while可能一次也不执行
3.跳转语句:用于把程序的执行重定向到代码中的另一条语句
3.1 break语句
用于跳出do-while、for、foreach、while或者switch语句
3.2 continue语句
用于结束一次迭代而直接进行下次迭代
3.3 goto语句
使程序跳到另一段代码后面跟一个标号名
3.4 return语句
用于退出一个方法(返回值为void的方法不强求用return返回但有返回值的方法必须用return语句返回并且每个返回路径都要有一个return语句)
二、示例代码
View Code
1 using System; 2 3 public class Example 4 { 5 public static void Main(string[] args) 6 { 7 SwitchIfText(101); 8 Console.WriteLine(ForText(100)); 9 int[] arr = new int[50]; 10 WhileText(arr);//数组是引用类型在方法中的变化会放映到数组本身 11 foreach (int i in arr)//遍历数组 12 { 13 if (i % 2 == 0) 14 continue;//结束此次迭代直接进入下次迭代 15 Console.Write(i + ",");//打印奇数 16 } 17 18 Console.ReadKey(); 19 } 20 static void SwitchIfText(int temp) 21 { 22 if (temp < 0 || temp > 100)//逻辑表达式 23 { 24 Console.WriteLine("没有这样的成绩"); 25 return;//退出函数体 26 } 27 switch (temp % 10)//必须为整型或者string类型 28 { 29 case 10: 30 //case标签后没有语句可不用break直接贯穿也可以有不允许贯穿 31 case 9: 32 Console.WriteLine("优秀"); 33 break;//必须有break语句否则报错 34 case 8: 35 case 7: 36 goto case 6;//可以显式声明贯穿case实际上是一个标签可被goto使用 37 case 6: 38 Console.WriteLine("良好"); 39 break; 40 default://即使是default也要有break说明此标签位置任意 41 Console.WriteLine("不及格"); 42 break; 43 } 44 } 45 static int ForText(int temp) 46 { 47 int result = 0; 48 for (int i = 0; i <= temp; i++) 49 { 50 result += i; 51 } 52 return result;//方法有返回值必须有return语句 53 } 54 static void WhileText(int[] temp) 55 { 56 int i = 0; 57 while (i < temp.Length)//逻辑表达式 58 { 59 temp[i] = i; 60 i++;//用于结束while循环 61 } 62 } 63 }