十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
要弄清楚这两个问题,就要明白For循环语句的语法规则:
我们提供的服务有:网站制作、成都做网站、微信公众号开发、网站优化、网站认证、通山ssl等。为数千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的通山网站制作公司
For循环语句,首先是判断循环条件,如果循环条件不合理,则循环不执行。
那么看第一个语句,循环范围是 i = -3.5 to 5.5,显然这个是一个从-3.5到5.5的递增范围,可是后面的Step却是一个负数,表示以0.5的步长递减。取值范围要求从小到大,可是步长改变却是由大变小,显然这个循环条件自相矛盾,所以循环将不会执行,也就是循环执行的次数是0次!
如果循环条件合理,则开始执行循环语句,直到根据步长变换,下一个值超出循环范围则终止。
For j = 6 to 2 Step -2
Next
完整写法就是:
For j = 6 to 2 Step -2
Next j
Next j的意思就是下一个j值。结合本题,下一个j值等于6-2=4,这个时候,就是循环语句的第二个规则,判断循环变量的值是否超出循环范围,我们这里的j=4,显然是在6 to 2这个范围之内,所以循环继续,到下一个j的时候为2,依然在循环范围内;到这里,6,4,2我们的循环执行了3次,准备第4次循环的时候j = 2 -2 = 0超过了6 to 2这个范围,那么循环终止。
所以i循环内的每一个j循环将执行3次。
好像不难吧?
我放进了Button1的Click事件里。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
On Error GoTo Errmessages '在做系统操作时加排错标签是个好习惯
Dim TargetName As String = "ibmdict" '存储进程名为文本型,注:进程名不加扩展名
Dim TargetKill() As Process = Process.GetProcessesByName(TargetName) '从进程名获取进程
Dim TargetPath As String '存储进程路径为文本型
If TargetKill.Length 1 Then '判断进程名的数量,如果同名进程数量在2个以上,用For循环关闭进程。
For i = 0 To TargetKill.Length - 1
TargetPath = TargetKill(i).MainModule.FileName
TargetKill(i).Kill()
Next
ElseIf TargetKill.Length = 0 Then '判断进程名的数量,没有发现进程直接弹窗。不需要的,可直接删掉该If子句
MsgBox("没有发现进程!")
Exit Sub
ElseIf TargetKill.Length = 1 Then '判断进程名的数量,如果只有一个,就不用For循环
TargetKill(0).Kill()
End If
MsgBox("已终止" TargetKill.Length "个进程") '弹窗提示已终止多少个进程
Errmessages: ‘定义排错标签
If Err.Description Nothing Then ’判断有无错误,如果有,则 ↓
MsgBox(Err.Description) '当出现错误时,弹窗提示
End If
End Sub
可根据需要自行修改,这个备注够完善了吧?不会的再Hi我。
一、退出本次循环:
用goto语句处理,例如:
For i = 0 To 10
If i Mod 2 = 0 Then GoTo e
.....
....
e:
Next i
二、退出整个for循环用:exit for
扩展资料:
注意事项
常见的for循环一般是一下代码这种结构:
for (int i = 0; i 100; i++)
{
Console.WriteLine(i);
}
或者递减的:
for (int i = 100; i 0 ; i--)
{
Console.WriteLine(i);
}
但for当然不止这样一种用法。for的定义,()内的三段表达式,除了中间的必须产生布尔型,并未对其余两段有所限制,只要是表达式就可以了。在Lucene.Net中就有好几次这样的用法。例如:
for (Token token = input.Next(result); token != null; token = input.Next(result))
{
int len = token.TermText().Length;
if (len = min len = max)
{
return token;
}
}
Dim s As String = "123456789"
For i = 1 To Len(s)
TextBox1.Text = TextBox1.Text Mid(s, i, 1)
System.Threading.Thread.Sleep(1000)
Application.DoEvents()
Next
实话说,我从来没听说VB里有return语句,如果是VB.net里有的就当我没学过孤陋寡闻吧。
我只知道VB里跳出循环是Exit for,而不是什么return。
先不说有没有return关键字,明显它在j循环的外面,而在i循环的里面,那自然是只对i循环有效果了,怎么可能结束j循环呢?
如果要结束i循环就在那个位置用exit for。如果要线束j循环就在j循环体里用 exit for。
exit for 只结束包含它的最近的一层的循环,懂我的意思么?
return在其它语言里,是表示返回,跳出整个函数,而不是跳出某个循环。