
正文
vb.net的循环结构 vbnet for循环语句
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
vb.net有几种循环结构 它们的区别
for它可以一次也不执行。
while它可以一次也不执行。
do...while它可以至少执行一次。
相关问答
Q1: vb的几种循环结构是什么?
1.While...Wend 语句
只要指定的条件为 True,则会重复执行一系列的语句。
语法
While condition
[statements]
..
Wend
2.Do...Loop
2.1 第一种用法
用 Do 循环重复执行一语句块,且重复次数不定。Do...Loop 语句有几种演变形式,但每种都计算数值条件以决定是否继续执行。如同 If...Then condition 必须是一个数值或者值为 True(非零)或 False(零)的表达式。
在下面的 Do...Loop 循环中,只要 condition 为 True 就执行 statements。
Do While condition
statements
..
Loop
2.2 第二种用法
Do...Loop 语句的另一种演变形式是先执行语句,然后在每次执行后测试 condition。这种形式保证 statements 至少执行一次:
Do
statements
Loop While condition
注:其它两种演变形式类似于前两个,所不同的是,只要 condition 为 False 而不是 True,它们就执行循环。
循环零次或多次
Do Until condition
statements
Loop
至少循环一次
Do
statements
Loop Until condition
3.For...Next
在不知道循环内需要执行多少次语句时,宜用 Do 循环。但是,在知道要执行多少次时,则最好使用 For...Next 循环。与 Do 循环不同, For 循环使用一个叫做计数器的变量,每重复一次循环之后,计数器变量的值就会增加或者减少。For 循环的语法如下:
For counter = start To end [Step increment]
statements
Next [counter]
参数 Counter、Start、end 和 increment 都是数值型的。
注意 increment 参数可正可负。如果 increment 为正,则 Start 必须小于等于 end,否则不能执行循环内的语句。如果 increment 为负,则 Start 必须大于等于 end,这样才能执行循环体。如果没有设置 Step,则 increment 缺省值为 1。
实例:
以下代码打印出所有有效的屏幕字体名:
Private Sub Form_Click ()
Dim I As Integer
For i = 0 To Screen.FontCount
Print Screen.Fonts (i)
Next
End Sub
4.For Each...Next
For Each...Next 循环与 For...Next 循环类似,但它对数组或对象集合中的每一个元素重复一组语句,而不是重复语句一定的次数。如果不知道一个集合有多少元素, For Each...Next 循环非常有用。
For Each...Next 循环的语法如下:
For Each element In group
statements
Next elementt
例如,下面的子过程打开 Biblio.mdb,把每一个表的名字加到列表框中。
Sub ListTableDefs ()
Dim objDb As Database
Dim MyTableDef as TableDef
Set objDb = OpenDatabase("c:\vb\biblio.mdb", _
True, False)
For Each MyTableDef In objDb.TableDefs ()
List1.AddItem MyTableDef.Name
Next MyTableDef
End Sub
请记住使用 For Each...Next 时的几点限制:
对集合,element 只能是 Variant 变量,或一般的 Object 变量,或“对象浏览器”中列出的对象。
对数组,element 只能是 Variant 变量。
For Each...Next 不能与用户自定义类型的数组一起使用,因为 Variant 不可能包含用户自定义类型。
Q2: vb.net 循环结构嵌套
Public Class Form1
For i = 1 To 9
For j = 1 To 9
If j = i Then
Label1.Text = Label1.Text " " i "*" j "=" IIf(i * j 9, i * j, i * j " ")
End If
Next
Label1.Text = Label1.Text vbCrLf
Next
End Sub
End Class
label属性设置vb.net的循环结构:AutoSize设置为Fvb.net的循环结构,Size设置为440,190,BACKCOLOR设置为WHITE
Q3: vb.net的for each 循环问题
值传递和地址传递(引用)的而导致的问题。
在For Each 的时候
当对象是值对象的时候,等于获得到一个副本。
当对象是引用对象的时候,则是获得到一个指针。
而在For To 的时候
无论对象是什么,你都获得到这个集合指定位置的指针。
更详细的,可以请参考以下内容,或直接去官方的MSDN了解
关于值类型和引用类型:
如果数据类型在它自己的内存分配中存储数据,则该数据类型就是“值类型”。“引用类型”包含指向存储数据的其他内存位置的指针。
值类型
值类型包括:
所有数字数据类型
Boolean、Char 和 Date
所有结构,即使其成员是引用类型
枚举,因为其基础类型总是 SByte、Short、Integer、Long、Byte、UShort、UInteger
或 ULong
引用类型
引用类型包括:
String
所有数组,即使其元素是值类型
类类型,如 Form
委托
非类型的元素
以下编程元素未限定为类型,因为您无法将它们中的任何一个指定为声明元素的数据类型:
命名空间
模块
事件
属性和过程
变量、常数和字段
使用对象数据类型
可以将引用类型或值类型指派给 Object 数据类型的变量。Object
变量总是存储指向数据的指针,从不存储数据本身。然而,如果将值类型指派给 Object 变量,则 Object
变量将表现得像存储自己的数据一样。有关更多信息,请参见 Object 数据类型。
通过将 Object 变量传递给 Microsoft.VisualBasic
命名空间中 Information
类的 IsReference
方法,可以确定该变量是用作引用类型还是值类型。如果 Object 变量的内容表示引用类型,则 Information.IsReference 返回 True。
Q4: vb循环结构 是怎样循环的啊。。vb就要考试啦 什么都不懂,,求高人指点指点啊 谢谢。谢谢
1.什么叫“外循环”与“内循环”?如果有三重以上的循环,又分别应该叫什么呢?
两个循环,里面的叫“内循环”,外面的叫“外循环”,一般两个循环的比较常见,三重以上的循环结构还没见到过。如果有三个 以上的循环重合起来,我认为里面的几个都叫内循环,最外面的叫外循环。纯粹是个人意见啊。
2.请详细讲解For...Next语句
For...Next 语句
以指定次数来重复执行一组语句。
语法
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next [counter]
For…Next 语句的语法具有以下几个部分:
部分 描述
counter 必要参数。用做循环计数器的数值变量。这个变量不能是布尔或数组元素。
start 必要参数。counter 的初值。
End 必要参数,counter 的终值。
Step 可选参数。counter 的步长。如果没有指定,则 step 的缺省值为 1。
Statements 可选参数。放在 For 和 Next 之间的一条或多条语句,它们将被执行指定的次数。
说明
step 参数可以是正数或负数。step 参数值决定循环的执行情况,如下所示:
值 循环执行,如果
正数或 0 counter = end
负数 counter = end
当所有循环中的语句都执行后,step 的值会加到 counter 中。此时,循环中的语句可能会再次执行(基于循环开始执行时同样的测试),也可能是退出循环并从 Next 语句之后的语句继续执行。
提示 在循环中改变 counter 的值,将会使程序代码的阅读和调试变得更加困难。
循环中可以在任何位置放置任意个 Exit For 语句,随时退出循环。 Exit For经常在条件判断之后使用,例如 If...Then,并将控制权转移到紧接在 Next 之后的语句。
可以将一个 For...Next 循环放置在另一个 For...Next 循环中,组成嵌套循环。不过在每个循环中的 counter 要使用不同的变量名。下面的体系结构是正确的:
For I = 1 To 10
For J = 1 To 10
For K = 1 To 10
...
Next K
Next J
Next I
注意 如果省略 Next 语句中的 counter,就像 counter 存在时一样执行。但如果 Next 语句在它相对应的 For 语句之前出现,则会产生错误。
3.请详细讲解Print Tab()语句
print的意思是在 窗口中显示文本。
Tab[(n)]
可选的 n 参数是在显示或打印列表中的下一个表达式之前移动的列数。若省略此参数,则 Tab 将插入点移动到下一个打印区的起点。这就使 Tab 可用来替换国别中的逗号,此处,逗号是作为十进制分隔符使用的。
说明
如果当前行上的打印位置大于 n,则 Tab 将打印位置移动到下一个输出行的第 n 列上。如果 n 小于 1,则 Tab 将打印位置移动到列 1。如果 n 大于输出行的宽度,则 Tab 函数使用以下公式计算下一个打印位置:
所以Print Tab()就是输出多少个空格。
4.请为每一句代码加上注释,
Private Sub Form_Click()'声明单击窗体事件
For i = 1 To 7 '外循环头,循环7次
Print Tab(10-i); '输出10-i个空格
For j = 1 To 2 * i - 1 '内循环头,内循环多少次
Print"*"; '在窗体上输出星号
Next j 'FOR循环结束部分
Next i 'FOR循环结束部分
End Sub '过程结束部分
5.i跟j分别是什么?是变量吗?还是什么?怎么没声明就用了?
i跟j分别都是变量,这里没有声明,vb是允许用户不声明变量直接使用变量的。vb会根据赋值情况而默认一个类型给变量。如果你不知道应该声明什么类型的变量可以不声明而直接使用变量名
除了循环的I、j之外其他的变量还是建议提前声明,因为有变量名之间的比较、赋值等等一些操作,如果类型不对很麻烦。
6.j = 1 To 2 * i - 1的运算顺序?
J=1,并且判断12*i-1正确与否。执行循环体。
j=2并且判断12*i-1正确与否。执行循环体。
…………
直到J=N2*i-1不成立停止循环。
7.哪里实现换行了?详细说一下
Print"*";
这一句执行之后就会换行。
Print"*"; 是在当前行输出一个星,
下次再执行Print"*"; 的时候就是在下一行输出一个星
Print"*"; 是一行一行的输出的。
关于vb.net的循环结构和vbnet for循环语句的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







