声明:本文属于原创,本人精心制做,欢迎人人转载,但转载请注明本文出自http://blog.163.com/kam_1993/
本节介绍VB中的If语句,很简单,用于判断。
If语句格式: 如果 条件1 成立 做 代码1 否则 做 代码2 结束
代码格式:
If 条件1 Then
语句1
这样使用If语句,就可以使程序有选择性的执行代码。
语句2
If 条件1 Then 语句1
Else
注意,If语句必然要有判断条件和执行语句,最后用 End If 结尾。但如果执行语句只有一条,就可以缩成一行,不必再写End If。
End if
好,下面我们来做这样一个题:输一个数,判断奇数还是偶数。
创建一个窗体如下图(我不美化了,你们可以自己美化)
这时,我们可以使用一个新的运算符——Mod。Mod可以对一个数取余数。比方 10 / 3 =3……1
则10 Mod 3 = 1。所以如果任意一个数 n Mod 2 = 1 这个数就是奇数了(奇数除以2肯定余1啊)所以源代码十分简单:
Private Sub Command1_Click()
If Val(Text1.Text) Mod 2 = 1 Then
Label1.Caption = "这是奇数"
Else
Label1.Caption = "这是偶数"
End If
End Sub
使用 And 逻辑运算符链接两个条件。必须两个条件同时成立,才能算是整条语句成立。
我们可以这样想,先判断是不是奇数,在判断是不是偶数,如果两者都不是,那就是非奇非偶了!这样的话,我们就要使用到多层次的函数了。把这个想法翻译过来,就是
测试完之后,是不是发现两段代码的效果完全一样呢。实在,这就是将多层次的If条件语句合并。目的是减少代码的长度,增加可读性。
这段代码应该很容易读懂了。但是有的朋友会说如果想加上判断非奇非偶的判断,怎么办呢?
这样,我们就可以判断非奇非偶的数了。
另外,刚才的If语句还有一种写法,就是ElseIf。最终可以写成如下形式,人人可以对比一下上下两段。
If Val(Text1.Text) Mod 2 = 1 Then
Label1.Caption = "这是奇数"
Else
If Val(Text1.Text) Mod 2 = 0 Then
Label1.Caption = "这是偶数"
&nbs5173p; Else
Label1.Caption = "非奇非偶"
End If
End If
Private Sub Command1_Click()
If Val(Text1.Text) Mod 2 = 1 And Val(Text1.Text) = Int(Val(Text1.Text)) Then
Label1.Caption = "这是奇数"
ElseIf Val(Text1.Text) Mod 2 = 0 And Val(Text1.Text) = Int(Val(Text1.Text)) Then
Label1.Caption = "这是偶数"
Else
Label1.Caption = "非奇非偶"
End If
End Sub
By:Kam
做着做着发现,当我们输入小数的时候,程序依然会输出奇偶,可小数无奇偶之分!所以我们要用一条函数来判断是不是整数——Int()。该函数可以将一个数变为整数。所以如果 n = Int(n)那么这个数就是整数了。为了把这个条件加入判断,则应该使用逻辑运算符(详见逻辑运算符介绍,此处我直接使用)。
当然,至于上面所讲过的If语句精简法,这里不可以使用,记住必须是只有一条代码执行的时候才可以精简。
Private Sub Command1_Click()
If Val(Text1.Text) Mod 2 = 1 And Val(Text1.Text) = Int(Val(Text1.Text)) Then
Label1.Caption = "这是奇数"
Else
If Val(Text1.Text) Mod 2 = 0 And Val(Text1.Text) = Int(Val(Text1.Text)) Then
Label1.Caption = "这是偶数"
Else
Label1.Caption = "非奇非偶"
End If
End If
End Sub