详解.net循环、逻辑语句块(基础知识)

所属分类: 网络编程 / ASP.NET 阅读数: 749
收藏 0 赞 0 分享

循环、逻辑语句块

好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好了,进入正题:

本篇还是.NET 基础部分咯,主要简述循环,判断:

循环:

for循环

语法:

for(表达式1;表达式2;表达式3)
{
 循环体;
}

表达式1一般为声明循环变量,记录循环的次数(int i=0;)

表达式2一般为循环条件(i<10)

表达式3一般为改变循环条件的代码,使循环条件终有一天不再成立(i++)。

执行过程:程序首先执行表达式1,声明了一个循环变量用来记录循环的次数,

然后执行表达式2,判断循环条件是否成立,如果表达式2返回的结果为true,

则执行循环体。当执行完循环体后,执行表达式3,然后执行表达式2继续判断循环条件是否成立,如果成立则继续执行循环体,如果不成立,则跳出for循环。

案例:

注:如案例中的“水仙花数” 不懂自行百度。

foreach循环:

语法:

foreach(数据类型 标识符 in 表达式)
{
循环体
}

foreach (type identifier in expression)

{

Statement

}

其中:

type

identifier 的类型。

identifier

表示集合元素的迭代变量。如果迭代变量为值类型,则无法修改的只读变量也是有效的。

expression

对象集合或数组表达式。集合元素的类型必须可以转换为 identifier 类型。请不要使用计算为 null 的表达式。

而应计算为实现 IEnumerable 的类型或声明 GetEnumerator 方法的类型。在后一种情况中,GetEnumerator 应该要么返回实现 IEnumerator 的类型,要么声明 IEnumerator 中定义的所有方法。

statement

要执行的嵌入语句。

案例:

注:案例中是声明一个int类型的数组。以后的篇章中会讲述到数组、集合。

while循环:

语法:

while(循环条件)
{
  循环体;
}

执行过程:程序运行到while处,首先判断while所带的小括号内的循环条件是否成立,

如果成立的话,也就是返回一个true,则执行循环体,执行完一遍循环体后,再次回到

循环条件进行判断,如果依然成立,则继续执行循环体,如果不成立,则跳出while循环。

在while循环当中,一般总会有那么一行代码,能够改变循环条件,使之终有一天不再成立,

如果没有那么一行代码能够改变循环条件,也就是循环条件永远都成立,我们称之这种循环

叫做死循环。

最简单的最常用的死循环:

while(true)
{

}

特点:先判断,再执行,有可能一遍循环都不执行。

案例:

do-while循环

语法:

do
{
  循环体;
}while(循环条件);

执行过程:程序首先会执行do中的循环体,执行完成后,去判断do-while循环的循环条件,

如果成立,则继续执行do中的循环体,如果不成立,则跳出do-while循环。

特点:先循环,再判断,最少执行一遍循环体。

案例:

嵌套循环:外层循环用来控制输出的行数,内层循环用来控制输出的列数

for(表达式1;表达式2;表达式3)
{
 for(表达式1;表达式2;表达式3)
{
 循环体;
}
}

例如99乘法表:

逻辑语句块:

if语句:

语法:

if(判断条件)
{
  要执行的代码;
}

判断条件:一般为关系表达式或者bool类型的值。

执行过程:程序运行到if处,首先判断if所带的小括号中的判断条件,

如果条件成立,也就是返回true,则执行if所带的大括号中的代码,

如果判断条件不成立,也就是返回一个false。则跳过if结构,继续向下执行。

if结构的特点:先判断,再执行

案例:

if-else

语法:

if(判断条件)
{
  执行的代码;
}
else
{
  执行的代码
}

执行过程:程序执行到if处,首先判断if所带的小括号中的判断条件是否成立,

如果成立,也就是返回一个true,则执行if所带的大括号中的代码,

执行完成后,跳出if-else结构。

如果if所带的小括号中的判断条件不成立,也就是返回一个false,

则跳过if语句,执行else所带的大括号中的语句,执行完成后,跳出if-else结构。

if-else特点:先判断,再执行,最少都要执行一条代码。

用于两种情况的判断

注意:else永远跟离它最近的那个if配对

案例:

if else-if

作用:用来处理多条件的区间性的判断。

语法:

if(判断条件)
{
  要执行的代码;
}
else if(判断条件)
{
  要执行的代码;
}
else if(判断条件)
{
  要执行的代码;
}
else if(判断条件)
{
  要执行的代码;
}
........
else
{
  要执行的代码;
}

执行过程;程序首先判断第一个if所带的小括号中的判断条件,如果条件成立,也就是返回一个true,

则执行该if所带的大括号中的代码,执行完成后,立即跳出if else-if结构。

如果第一个if所带的判断条件不成立,也就是返回一个false,则继续向下进行判断,依次的判断每一个if所带

的判断条件,如果成立,就执行该if所带的大括号中的代码,如果不成立,则继续向下判断,

如果每个if所带的判断条件都不成立,就看当前这个if else-if结构中是否存在else。

如果有else的话,则执行else中所带的代码,如果没有else,则整个 if-else if神马都不做。

else可以省略。

案例:

根据上边你就是会看出if else-if 在条件特别多的时候会导致代码很长很不好看,这时我们会用另一个来替换

switch-case

用来处理多条件的定值的判断。

语法:

switch(变量或者表达式的值)
{
  case 值1:要执行的代码;
  break;
  case 值2:要执行的代码;
  break;
  case 值3:要执行的代码;
  break;
  ..........
  default:要执行的代码;
  break;
}

执行过程:程序执行到switch处,首先将括号中变量或者表达式的值计算出来,

然后拿着这个值依次跟每个case后面所带的值进行匹配,一旦匹配成功,则执行

该case所带的代码,执行完成后,遇到break。跳出switch-case结构。

如果,跟每个case所带的值都不匹配。就看当前这个switch-case结构中是否存在

default,如果有default,则执行default中的语句,如果没有default,则该switch-case结构

什么都不做。

案例:

最后来个彩蛋:

break ,continue ,return 的区别及作用:

第一:break语句通常用在循环语句和开关语句中,当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句, 通常break语句总是与if语句联在一起,即满足条件时便跳出循环。例如:注意:

1) break语句对if-else的条件语句不起作用。

2) 在多层循环中, 一个break语句只向外跳一层。

第二:continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。continue语句只用在for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环。其实就是continue跳过一次循环以及后面的语句,进行下次循环。

第三: return语句是将函数的值返回主调函数。例如:

return  语句的一般形式为:

return 表达式

或者为:

return (表达式)

好了 , 本篇就到这里了,另本篇提供的案例只有截图,没有运行的结果,请自行处理咯。希望能对初学者带来帮助,更希望大神能带带我们,带我们装逼,带我们飞。。。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

更多精彩内容其他人还在看

asp.net 虚方法、抽象方法、接口疑问

asp.net 虚方法、抽象方法、接口疑问等说明。
收藏 0 赞 0 分享

c#  操作符?? null coalescing operator

?? "null coalescing" operator 是c#新提供的一个操作符,这个操作符提供的功能是判断左侧的操作数是否是null,如果是则返回结果是右侧的操作数;非null则返回左侧的操作数。
收藏 0 赞 0 分享

.net 反序题目的详细解答第1/2页

在各种答案,以及平时面试过程中,这道题总归会有一些非常典型的错误发生。其中给老赵的感觉也非常有意思,不知其中的“思路”是否如老赵猜测那样。
收藏 0 赞 0 分享

implicitly convert type 'int' to 'short'的原因与解决方法

implicitly convert type 'int' to 'short'的原因与解决方法
收藏 0 赞 0 分享

比较完整的 asp.net 学习流程

好多朋友想学习后台编程语言,但请注意的事,学习后台是个循序渐进的过程,不可能一下就到位,其实不只是asp.net其它的编程语言都需要下面的一些知识。
收藏 0 赞 0 分享

官网 Ext direct包中.NET版的问题

下载了官网的 Ext direct 包进行研究,发现服务器端返回结果存在一点小问题。
收藏 0 赞 0 分享

C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)第1/2页

C#操作XML(读XML,写XML,更新,删除节点,与dataset结合等),以下就是操作XML的所有方法,相信可以满足很大一部份的使用了。
收藏 0 赞 0 分享

c# 连接字符串数据库服务器端口号 .net状态服务器端口号

正常的数据库连接字符串配置,这是在MSSQL服务器端口是1433(默认)的情况下。
收藏 0 赞 0 分享

ASP.NET 路径问题的解决方法

相对路径和绝对路径在ASP.NET中可以用~/来解决.
收藏 0 赞 0 分享

asp.net TemplateField模板中的Bind方法和Eval方法

在TemplateField模板中为了能够有限制的或者取出数据库中某列的值时,可以用Bind和Eval方法来实现。以下是Bind方法的格式,Eval的格式也是和Bind一样的。 Bind("列的名称","显示的格式文")
收藏 0 赞 0 分享
查看更多