万业网网站建设审核,专教做蛋糕的网站,山东手机在线app,河南省网站集约化建设序号系列文章3【C#基础】C# 数据类型总结4【C#基础】C# 变量和常量的使用5【C#基础】C# 运算符总结文章目录前言语句概念1#xff0c;迭代语句1.1 for 语句1.2 foreach 语句1.3 while 语句1.4 do 语句2#xff0c;选择语句2.1#xff0c;if 语句2.2#xff0c;else 语句2.3…序号系列文章3【C#基础】C# 数据类型总结4【C#基础】C# 变量和常量的使用5【C#基础】C# 运算符总结文章目录前言语句概念1迭代语句1.1 for 语句1.2 foreach 语句1.3 while 语句1.4 do 语句2选择语句2.1if 语句2.2else 语句2.3switch 语句3跳转语句3.1 break 语句3.2 continue 语句3.3 goto 语句3.4 return 语句结语前言 大家好我是writer桑前面一章已经学习了 C# 中运算符的使用那本章就开始学习 C# 程序中的常用语句吧希望看完大家能够有所收获感谢支持 语句概念 程序的执行操作使用语句表示常见的语句操作包括声明迭代、判断语句、调用方法以及根据给定条件分支到一个或另一个代码块等。语句在程序中的执行顺序称为 “控制流” 或 “执行流”, 也即程序根据语句执行着不同的操作。 1迭代语句 迭代语句表示反复执行的语句或语句块直到满足某些条件为止其中包括 for 语句、foreach 语句、do 语句和 while 语句 。使用迭代语句实现重复控制结构时在迭代语句中的任何地方都可以使用 break 语句跳出当前所在循环或者使用 continue 语句进行循环的下一个迭代。 1.1 for 语句 for 语句内指定的条件判断为 true 时for 语句会执行一次循环体的内容直到条件判断为 false 时会结束循环。实现一个小于5的计数器例子借此来讨论 for 语句的语法。 示例如下
for (int i 0; i 5;i) // 初始化表达式条件判断迭代部分
{Console.WriteLine(i); // 循环体的声明
} 上述示例展示了 for 语句的构成部分
“初始化表达式” 部分仅在进入循环前执行一次。通常在该部分中声明并初始化局部循环变量但不能从 for 语句外部访问声明的变量。
上例中的初始化表达式部分声明并初始化了 int 类型的变量 i :
int i 0;“条件判断” 部分是用来确定是否应执行循环中的下一个迭代。如果判断结果为 true 或为 null, 则执行下一个迭代否则退出循环同时条件判断部分必须为布尔表达式。
上例中的条件判断部分表示判断变量 i 是否小于 5
i 5;“迭代部分” 是在循环体每次执行完后再执行的操作。
上例中的迭代部分使用增量运算符表示每次执行完 i 变量加1
i循环体部分表示 for 语句每次循环需要执行的内容同时循环体部分必须是一个语句或代码块。
上例中的循环体部分在每次循环中输出变量 i
Console.WriteLine(i);for 语句流程图 注意for 语句的所有部分都是可选的 可以在 for 语句的外部声明上述的三个部分如果缺少部分声明可能会造成无限 for 循环。 示例如下
// 报错省略初始化部分
for(; i 5; i)
{Console.WriteLine(i);
}// 死循环省略条件判断部分
for (int j 1; ; j)
{Console.WriteLine(j);
}// 死循环省略迭代部分
for (int k 1; k 5;)
{Console.WriteLine(k);
}// 三个部分都省略
for (; ; )
{// 死循环...
}1.2 foreach 语句 foreach 语句用于列举出迭代对象中所有的元素foreach 语句中的表达式由关键字 in 隔开的两个项组成。in 右边的项是可迭代对象in 左边的项是只读变量用来存放该集合中的每个元素。 借一个简单的示例讨论 foreach 语句的语法。 示例如下
// 可迭代对象 fibNumbers
var fibNumbers new Listint { 0, 1, 1, 2, 3, 5, 8, 13 };foreach (int element in fibNumbers) // 只读变量 element
{Console.Write(${element} ); // 循环体
} // 输出
// 0 1 1 2 3 5 8 13 上述示例展示了 foreach 语句的构成部分
“可迭代对象” 也即可以被 foreach 语句迭代的对象当一个对象实现了 GetEnumerator 方法且具有公共 Current 属性和公共无参数 MoveNext 方法时这个对象就可以被 foreach 语句迭代。
上例中的可迭代对象声明了一个 List 类型的元素 fibNumbers并存放了一些数字元素
var fibNumbers new Listint { 0, 1, 1, 2, 3, 5, 8, 13 };只读变量在循环中接收迭代对象中的元素可迭代对象中的每个元素都会依次赋值给只读变量。可以在循环体中对只读变量进行操作。
上例中的迭代元素声明了一个 int 类型的元素 element
int element in fibNumbers循环体部分表示 foreach 语句每次循环需要执行的内容同时循环体部分必须是一个语句或代码块。
上例中的循环体部分在每次循环中输出变量 element
Console.Write(${element} ); // 循环体 foreach 语句流程图 1.3 while 语句 while 语句表示当指定的布尔表达式的计算结果为 true 时while 语句就会执行一条语句或一个语句块。 由于在每次执行循环之前都会计算布尔表达式 所以 while 循环会执行零次或多次。借一个简单的例子讨论 while 语句的语法。 示例如下
int n 0;while (n 5)
{Console.WriteLine(n); // 循环体 n;
}// 输出
// 01234上述示例展示了 while 语句的构成部分
布尔表达式部分表示 while 语句每次循环执行之前需要计算的结果若结果为 true 则执行循环体反之则退出循环。
上例中的布尔表达式声明了 int 类型 n 并判断是否小于5
while (n 5)循环体部分表示 while 语句每次循环需要执行的大括号里的内容同时循环体部分必须是一个语句或代码块。
上例中的循环体部分在每次循环中输出整数变量 n并令 n 自增
Console.WriteLine(n); // 循环体
n;while 语句流程图 1.4 do 语句 do 语句会先执行一次循环体中的语句再判断while语句中布尔表达式是否为真 如果条件判断为真则继续循环反之则终止循环。 由于在每次执行循环之后都会计算布尔表达式所以 do 循环会执行一次或多次注意不同于 while 循环是执行零次或多次。 借一个简单的例子讨论 do 语句的语法。 示 例
int n 0; // 声明整数 ndo
{Console.Write(n); // 循环体 n;
} while (n 5); // while 条件判断式 // 输出
// 01234 上述示例展示了 do 语句的构成部分
循环体部分跟 while 语句一样 表示每次判断为 true 时需要执行的行为同时循环体部分必须是一个语句或代码块。
上例中的循环体部分在每次循环中输出整数变量 n并令 n 自增
Console.Write(n); // 循环体
n;do 语句的布尔表达式部分与 while 语句没有区别。表示 while 语句每次循环执行之前需要计算的结果若结果为 true 则执行循环体反之则结束循环。
上例中的布尔表达式声明了 int 类型 n 并判断是否小于5
while (n 5);do 语句流程图
2选择语句 选择语句是根据表达式的值从许多可能的路径中选择要执行的语句其中包括 if 、else 和 switch 语句。 if 语句可与 else 结合使用基于布尔表达式选择不同的路径。语句 switch 根据与表达式的模式匹配要执行的语句列表。 2.1if 语句 if 语句由一个布尔表达式和一个或多个语句组成。 if 语句仅在布尔表达式计算结果为 true 时执行指定的语句部分计算结果为 false 时则语句结束。借一个示例来讨论 if 语句的语法。 示例如下
int value 100; if (value 0 || value 100)
{Console.Write(${value}小于0或者大于100);
}if 语句的构成部分
布尔表达式计算结果为 true 则执行指定的语句计算结果为 false 则什么都不执行。
上例中的布尔表达式声明 int 类型变量 value 是否小于0或大于 100
(value 0 || value 100)if 语句的执行部分由一个或多个语句构成仅在布尔表达式计算结果为 true 时执行。
上例中的语句执行部分将输出 value 变量
Console.Write(${value}小于0或者大于100);if 语句的流程图
2.2else 语句 else 语句与 if 语句搭配else 语句在 if 语句的布尔表达式计算结果为 false 时执行。 借一个示例来讨论 else 语句的语法。 示例如下
int number 20;if (number 20) // 结果为 true 时执行
{Console.WriteLine(number小于20);
}
else // 结果为 false 时执行
{Console.WriteLine(number大于等于20);
} else 语句的构成部分
当 if 语句的布尔表达式为 false 时执行 else 中的一个或多个语句的执行部分。
上例中的 else 语句的执行部分输出 number 变量大于等于20的提示信息
Console.WriteLine(number大于等于20);if…else 语句的流程图
2.3switch 语句 当switch 语句根据给定的表达式参数与 case 关键字声明的匹配表达式匹配时对应的匹配模式会执行指定的一个或多个语句部分。以一个示例来说明 switch 语句的语法。 示例如下
double measurement 1.1; // 声明测量值switch (measurement) // switch(表达式参数)
{// case 匹配表达式 case 0.0:Console.WriteLine($测量值为{measurement}太低了);break;case 15.0:Console.WriteLine($测量值为{measurement}太高了);break;case double.NaN:Console.WriteLine(失败的测量值。);break;default: // 默认部分Console.WriteLine($测量值为{measurement}.);break;
}switch 语句的构成部分
参数表达式部分必须是一个整型或枚举类型又或者是可以转换为整型或枚举类型的 class 类型。 参数用于与 switch 语句内的 case 语句匹配。
上例的参数表达式部分声明了一个 double 类型的变量 measurement
double measurement 1.1; // 声明测量值switch (measurement) // switch(表达式参数)匹配表达式部分表示一个匹配的条件使用 case 关键字声明。switch 语句可以有多个 case 语句当匹配表达式布尔值为 true 时则执行对应的语句部分若布尔值为 false 时则直接执行执行下一个匹配部分直到 switch 语句结束。
上例的匹配表达式部分声明了三个 case 语句
// case 匹配表达式
case 0.0://...
case 15.0://...
case double.NaN://...执行语句部分即匹配结果为 true 时执行的语句注意 C# 不支持从一个 case 标签显式贯穿到另一个 case 标签 所以在 case 执行语句不为空的情况下需要声明 break 或其它跳转语句。
上例中的执行语句部分输出了 measurement 变量的提示信息和 break 语句
case 0.0:Console.WriteLine($测量值为{measurement}太低了);break;
case 15.0:Console.WriteLine($测量值为{measurement}太高了);break;
case double.NaN:Console.WriteLine(失败的测量值。);break;default 语句是在 switch 语句末尾声明的一个可选的语句表示在上面所有的 case 匹配结果都不为 true 时执行的语句。 当 switch 语句中的 case 匹配结果都不为 true 且没有 default 语句的时候会直接结束 switch语句。
上例中的 default 语句的执行部分输出 measurement 变量的提示信息和 break 语句
Console.WriteLine($测量值为{measurement}.);
break; switch 语句的流程图
3跳转语句 跳转语句表示可以中断当前程序流并从一个程序点跳转到另外一个程序点继续执行程序。C# 支持的跳转语句包括 break 语句、continue 语句、return 语句和 goto 语句。 借一个简单的示例来讨论这些跳转语句的使用。 3.1 break 语句 break 语句表示将终止当前所在的迭代语句。包括上面所讲到的 for、foreach、while 或 do 语句以及 switch 语句。break 语句可以直接停止迭代语句的执行并把执行权给后面的程序或直接结束。 以一个示例来演示 break 语句的语法。 示例如下
int[] numbers { 1, 2, 3, 4, 5, 6 }; foreach(int number in numbers)
{if(number 3){break; // 跳出当前 foreach 语句}Console.WriteLine(${number});
}
// 输出
// 1
// 2break 语句的流程图
3.2 continue 语句 continue 语句与 break 语句不同的 continue 语句只跳过当前循环直接进入下一次循环而 break 语句是跳出整个循环。 continue 语句常用于 while 循环和 for 循环中。 以一个示例来演示 continue 语句的语法。 示例如下
for (int i 0; i 5; i)
{Console.Write($Iteration {i}: );if (i 3){Console.WriteLine(skip);continue;}Console.WriteLine(done);
}// 输出
// Iteration 0: skip
// Iteration 1: skip
// Iteration 2: skip
// Iteration 3: done
// Iteration 4: donecontinue 语句的流程图
3.3 goto 语句 goto 语句将控制权转交给带有标签的语句实现程序从一个点跳转到另外一个程序点执行。 以一个示例来理解 goto 语句。 示例如下
// 局部变量定义
int a 10;LOOP: do
{if (a 15){// 直接跳过迭代a;goto LOOP;}Console.WriteLine($a 的值{a});a; } while (a 20);// 输出
/*a 的值10a 的值11a 的值12a 的值13a 的值14a 的值16a 的值17a 的值18a 的值19
*/注意无论什么编程语言都不建议使用 goto 语句。因为 goto 语句使得程序的控制流难以跟踪使程序难以理解和难以修改。而且任何使用 goto 语句的程序可以改写成不需要使用 goto 语句的写法。示例中的功能可以使用 continue 语句实现 goto 语句的流程图
3.4 return 语句 return 语句的执行也表示函数的结束并将控制权和函数结果若有返回给函数的调用方在 C# 中 return 语句的返回值的类型必须和函数的返回类型相同 。return 语句是函数的一个可选项函数中不是一定要有 return 语句。如果函数成员不计算值则使用不带表达式的 return 语句。 以一个示例来理解 return 语句。 示例如下
Console.WriteLine(First call:);
DisplayIfNecessary(6);Console.WriteLine(Second call:);
DisplayIfNecessary(5);void DisplayIfNecessary(int number)
{if (number % 2 0){return;}Console.WriteLine(number);
}
// 输出
//First call:
//Second call:
//5 结语 以上就是 C# 常用语句的介绍希望能够对大家有所帮助。望大家多多支持你们的支持就是笔者创作最大的动力