asp中for循环的使用方法

循环是指在指定情况下,多次重复执行一组语句。最常用(for …next、 do …loop),

1、重复执行的语句叫循环语句。
循环语句可以分为三种类型:
(1)、当条件不为假之前的时候重复执行语句。
(2)、当条件变为真之前重复执行语句。
(3)、按指定的次数重复执行语句。

2、For…Next 循环 如果重复操作的次数固定,使用 For…Next 循环是一个很好的选择,此外也将介绍语法很类似的 For Each…Next循环,它适用在数组或集合的重复循环,(一)For…Next 在 For…Next 循环的语法中使用初值、终值、步长以及循环变量来完成重复计数的工作。当进入循 环第 一次执行时,循环变量便由初值开始累加一次步长,一直到等于或超过终值为止。
例如:
初值为1,终 值为 10, 步长为 2,
则循环将执行 5 次,
循环变量的值分别是 1、3、5、7、9,
第六次因循环变量累加到 11, 已经超过 10 了,便不再执行循环。

3、For…Next 循环的语法如下:
For 循环变量=初值 To 终值 Step 步长
程序语句…
[ Exit For]
程序语句…
Next
说明:
(1)、循环变量:这个变量通常是使用整数,但是必要时也可以是其他数值类型,他是一个数值变量。
(2)、初值:这是循环变量的初始值,为数值类型。其值不一定是整数, 或小数,VB会自动给他取整数
(3)、终值:循环变量的终值,为数值类型。 其值不一定是整数, 或小数,VB会自动给他取整数
(4)、步长:循环变量每次的增加量,步长的数值类型应该和循环变量一样, 其值可以是正数(递增循环)或是负数(递减循环),当不能为0,如果没有特别指定,则步 长默 认为 1。
(5)、循环体:在For语句和Next语句之间的语句,可以是一个或多个语句.
(6)、Next:是循环终端语句,在Next后面的"循环变量"与For语句中的"循环变量"必须相同.
如:for i=0 to 10 Step 1        
......
Next

执行过程:
(1)、把初值1赋给循环变量i
(2)、将i的值与终值10进行比较,若i>10,则跳出循环,执行(5),否则执行循环体.
(3)、i增加一个步长值,即i=i+1
(4)、返回(2)继续执行
(5)、执行Next语句后面的代码

这个循环的作用是:根据 FOR 语句中所的初值、终值和步长,来确定循环次数,反复执行循环体内各语句。For…Next 循环尊循"先检查、后执行"的原则,即先检查循环变量是否超过终值,
然后决定是否执行循环体。因此,在下列情况下,循环体将不会执行,
(1)、当步长这正数,初值大于终值
(2)、当步长这负数,初值小于终值
当初值等于终值时,不管步长是正数还是负数,都执行一次循环.
For语句和Next语句必须成对出现,不能单独使用,并且For语句必须在Next语句之前.

循环次数N 的一般公式为:
N=Int((终值-初值)/步长)+1

For…Next循环中的初值小于终值时,步长必须为正值,表示由小到大计数;若初值大于终值时,步长必须设为负值,表示由大到小计数。

例如:初值小于终值时

代码如下:

<%
for i=0 to 10 Step 1          '默认步长为1可以不写
Response.Write(i&"<br>")
Next
%>

例如:初值大于终值时

代码如下:

<%
for i=10 to 1 Step -1
Response.Write(i&"<br>")
Next
%>

当步长大于0时:当初值<=终值时,For…Next之间的语句会被执行一次,接着循环变量会被加上步长,如果还小于终值,则再执行一次For…Next之间的语句,一直到循环变量累加到大于终值,才会跳离For…Next循环。

代码如下:

<%
for i=1 to 1 Step 0.5
Response.Write(i&"<br>")
Next
%>

当步长小于0时:当初值>=终值,会执行循环内的语句一次,然后循环变量减去步长(负的),如果循环变量还>=终值,则再执行一次循环内的语句,一直到循环变量累加到小于终值,才会跳离For…Next循环。
循环语句的执行过程:

代码如下:

<%
for i=2 to 1 Step -1
Response.Write(i&"<br>")
Next
%>

4、循环语句的执行过程:
(1)通过For语句进入循环。如果循环变量的初值、终值、步长为算术表达式,系统首先计算出算术表达式的值,然后将初值赋给循环变量,并将终值、步长的值存入内存
(2)将循环变量的值与终值进行比较,当循环变量的值未超过终值的范围时,则顺次执行循环体内的各个语句。若循环变量的值超过终值的范围,则退出循环,执行NEXT的后继语句。
(3)在执行完循环体各语句后遇到NEXT语句,将循环变量增加一个步长的值,再去终值,比较,如果仍不超过 起开涠,则再次执行循环体内的各语句,这样重复执行,直到循环变量的值超过终值的范围,结束该循环,执行Next的后继语句。

课堂例题:

【例 1】
简单1加到10,用循环特点每次加1

代码如下:

<%
for i=0 to 10
sum=sum+i
Next
Response.Write(sum)
%>

最终显示结果:55

【例 2】

代码如下:

<%
for i=0 to 10 step 2
Response.Write(i&"<br>")
Next
%>

最终显示结果:0,2.4,6,8,10

【例 3】

代码如下:

<%
for i=0 to 10
Response.Write(i&"<br>")
   if i=5 then
   exit for'强制结束循环
   end if
Next
%>

在上述程序中,原本 i 会从1 累加到10,执行 10次,但是在 i 累加到 5 时,符合了 i=5 的判断式,结
果执行 Exit For 语句,跳离了循环,因此最后网页显示的结果是“0,1,2,3,4,5,”

【例 4】

代码如下:

<%
for i=10 to 0 step -1
sum=sum+i
Next
Response.Write(sum)
%>

最终显示结果:55

5、我们以范例来说明 For…Next循环的不同用法:

【例 1】

代码如下:

<% For i=1 To 10
Response.write i&","
Next
%>

上列程序会累加上 I,而循环中的 i 会由1,2,3,…每次累加 1,一直到 10,总共执行 10 次,最后网页会显示出“1,2,3,4,5,6,7,8,9,10, ”

【例 2】

代码如下:

<%
For a=1 To 10 Step 0.5
Response.write a&","
Next
%>

上列程序中 a将每次累加 0.5,总共执行 20 次,最后在网页中,显示出“1,1.5,2,2.5,3,3.5…
9.5,

【例 3】

代码如下:

<%
For j=10 To 1 Step -1
Response.write j&","
Next
%>

上列程序中j 将由 10到 1,每次累减 1,最后在网页中,显示出“10,9,8,7,6,5,4,3,2,1, ”
【例 4】
循环中的初值、终值和步长,在程序一开始执行时只读入一次,随后即使在循环内更改其值,也不会对循环执行有所影响。

代码如下:

<%
StepNum=1
EndNum=1
For i=1 To endNum Step stepNum
Response.write i&","
StepNum=StepNum-0.1
EndNum=EndNum+1
Next
%>

上列程序中,故意在循环内将步长每次减少 0.1,将终值每次都加 1,意图使 i 永远达不到终值,但是因为步长和终值都只读取一次,便不会再更改,因此这段程序的输出结果还是“1” 。

【例 5】

循环中的循环变量,是会在循环中更动的,因此:

代码如下:

<%
For k=1 To 10
Response.Write k&","
Next
%>

上列程序会累加上 k,而循环中的 k 会由1,2,3,…每次累加 1,一直到 10,总共执行 10 次,最后网页会显

示出“1,2,3,4,5,6,7,8,9,10,

(0)

相关推荐

  • asp下循环一行多少个

    <%     set rs = server.createobject("adodb.recordset")     sql = "Select * from friend order by id DESC"    rs.Open sql,conn,1     i=1     do while not rs.eof     %>      <td align="left" height="50">   

  • asp.net for循环语句第1/2页

    for循环的格式为: for([初始化表达式];[条件表达式];[迭代表达式 ]){          //语句块}其中:[初始化表达式];[条件表达式];[迭代表达式 ]都是可选的,[条件表达式]必须是一个布尔表达式. 执行步骤为:第一步:开始执行初始化表达式,只执行一次.第二步:开始执行条件表达式(若为空,则返回true),若为true,则执行大括号中的语句:若为false,则直接跳到for的结束点.第三步:开始执行迭代表达式+条件表达式.第四步:若条件表达式为true,则执行大括号中的语句

  • asp.net使用for循环实现Datalist的分列显示功能

    服务器控件虽然用起来方便,但是也牺牲了性能,有些时候用起来显得大而无当.希望先进朋友多多指教. 复制代码 代码如下: /// <summary> /// 工程业绩--用for循环代替了DataList多列显示,得到2行四列的表格,需要内存表的8行数据 /// </summary> private void GcyjShow() { StringBuilder sb = new StringBuilder(); ProductBLL pb = new ProductBLL(); Da

  • asp循环语句总结

    asp的循环语句有以下几类: 循环语句的作用就是重复执行程序代码,循环可分为三类:一类在条件变为"假"之前重复执行语句,一类在条件变为"真"之前重复执行语句,另一类按照指定的次数重复执行语句.在VBScript 中可使用下列循环语句: Do...Loop: 当(或直到)条件为"真"时循环. While...Wend: 当条件为"真"时循环. For...Next: 指定循环次数,使用计数器重复运行语句. For Each...

  • asp循环行数输出函数

    经过大鸟哥的指导已做全面的修改,本人能力有限只能做到下面这步了: ASP/Visual Basic代码  复制代码 代码如下: <%          Const p=6 '每页2条          set rs = server.createobject("adodb.recordset")          sql = "Select * from show order by id Desc"         rs.Open sql,conn,1 i=0

  • 详细讲解ASP脚本循环语句

    如果有人告诉你学习 ASP 不需要任何编程知识,那么他错了:如果我告诉你学习 ASP 必须掌握一门编程语言,那么我错了.ASP 动态服务器页面环境的特点就在于它是通过一种或几种脚本语言而写成的,脚本语言可以看作是编程语言的简化版,它易于学习和掌握,这给广大动态网站的设计者们提供了相当大的便利.可以这么说 : 脚本语言运用的得当与否直接关系到 ASP 应用程序的优与劣.继上一篇我们学习了脚本语言 VBScript 的函数和条件语句后,今天我们继续来看看 VBScript 中的循环语句.  循环语句

  • asp中用for循环的一个小技巧

    下面的代码是正确的,也是最常规的写法: 复制代码 代码如下: <% dim i for i=5 to 9 response.write i next %> 下面的代码是错误的,会提示缺少一个'='的错误: 复制代码 代码如下: <% dim i : i=5 for i to 9 response.write i next %> 下面的代码是正确的: [/code] <% dim i i=5 for i=i to 9 response.write i next %> [/

  • asp.net中for和do循环语句用法分享

    本示例的FOR循环创建一个Mandelbrot图像. 复制代码 代码如下: using System; namespace a { class Program { public static void Main(string[] args) { double realCoord,imagCoord; double realTemp,imagTemp,realTemp2,arg; int iterations; for (imagCoord=1.2;imagCoord>=-1.2;imagCoor

  • asp.net下无法循环绑定投票的标题和选项的解决方法

    问题:1,无法循环绑定投票的标题和选项 解决方法: 在Repeater绑定中添加ItemDataBound事件,选项用RadioButtonList绑定,附源代码: Default页,源页面 复制代码 代码如下: <div> 广大网友对保障房建设相关问题调查<br /> <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemData

  • asp经常被忽视的一种死循环

    <% Url=Request.ServerVariables("HTTP_REFERER") Response.Redirect Url %>

随机推荐