Visual Basic.NET+SQL Server全程指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

实例2-12 逻辑运算符

该实例实现步骤如下。

1 创建窗体

在本章的项目chapter2中,右键单击解决方案资源管理器中项目名下面对应节的文件夹“运算符”,在弹出菜单中选择“添加”→“Windows窗体”菜单命令,在弹出的对话框中输入窗体名LogicFrm,单击“添加”按钮完成窗体的创建。

2 添加控件

向窗体中添加9个Textbox控件用于输入和显示相应的信息。

添加三个Label控件用于显示相关说明。

添加4个Button控件到窗体上,用于实现相应运算符的逻辑运算。

3 添加代码

双击窗体转到代码编辑器添加代码2-16中的代码,这里只显示了三个整数的部分逻辑运算,其他的读者可参考代码自行完成。

代码2-16 LogicFrm.vb

        01      Dim a As Integer
        02      Dim b As Integer
        03      Dim c As Integer
        04      Dim vr As Boolean '定义一个布尔类型变量,用于返回逻辑运算的结果
        05      Private  Sub  Button1_Click(ByVal  sender  As  System.Object,  ByVal  e  As
    System.EventArgs) Handles Button1.Click  '“And”按钮单击事件
        06      a = Me.TextBox1.Text '将用户在textbox1中输入的值赋给变量a
        07      b = Me.TextBox2.Text '将用户在textbox2中输入的值赋给变量b
        08      c = Me.TextBox3.Text '将用户在textbox3中输入的值赋给变量c
        09      vr = a > b And b > c '逻辑与运算
        10      '在textbox4中显示“a > b And b > c”表达式
        11      Me.TextBox4.Text = CStr(a) & ">" & CStr(b) & " And " & CStr(b) + ">"
    & CStr(c)
        12      Me.TextBox5.Text = vr '显示表达式的结果
        13      vr = a > b And b < c
        14      Me.TextBox6.Text = CStr(a) & ">" & CStr(b) & " And " & CStr(b) & "<"
    & CStr(c)
        15      Me.TextBox7.Text = vr
        16      vr = a < b And b < c
        17      Me.TextBox8.Text = CStr(a) & "<" & CStr(b) & " And " & CStr(b) & "<"
    & CStr(c)
        18      Me.TextBox9.Text = vr
        19      End Sub
        20      Private  Sub  Button2_Click(ByVal  sender  As  System.Object,  ByVal  e  As
    System.EventArgs) Handles Button2.Click  '“Or”按钮单击事件
        21      a = Me.TextBox1.Text
        22      b = Me.TextBox2.Text
        23      c = Me.TextBox3.Text
        24      vr = a > b Or b > c
        25      Me.TextBox4.Text = CStr(a) & ">" & CStr(b) & " Or " & CStr(b) + ">"
    & CStr(c)
        26      Me.TextBox5.Text = vr
        27      vr = a > b Or b < c
        28      Me.TextBox6.Text = CStr(a) & ">" & CStr(b) & " Or " & CStr(b) & "<"
    & CStr(c)
        29      Me.TextBox7.Text = vr
        30      vr = a < b Or b < c
        31      Me.TextBox8.Text = CStr(a) & "<" & CStr(b) & " Or " & CStr(b) & "<"
    & CStr(c)
        32      Me.TextBox9.Text = vr
        33      End Sub
        34      Private  Sub  Button3_Click(ByVal  sender  As  System.Object,  ByVal  e  As
    System.EventArgs) Handles Button3.Click  '“Not”按钮单击事件
        35      a = Me.TextBox1.Text
        36      b = Me.TextBox2.Text
        37      c = Me.TextBox3.Text
        38      vr = Not (a > b)
        39      Me.TextBox4.Text = "Not" & "(" & CStr(a) & ">" & CStr(b) & " ) "
        40      Me.TextBox5.Text = vr
        41      vr = Not (a < b)
        42      Me.TextBox6.Text = "Not" & "(" & CStr(a) & "<" & CStr(b) & " ) "
        43      Me.TextBox7.Text = vr
        44      vr = Not (b > c)
        45      Me.TextBox8.Text = "Not" & "(" & CStr(b) & ">" & CStr(c) & " ) "
        46      Me.TextBox9.Text = vr
        47  End Sub
        48  Private  Sub  Button4_Click(ByVal  sender  As  System.Object,  ByVal  e  As
    System.EventArgs) Handles Button4.Click  '“Xor”按钮单击事件
        49      a = Me.TextBox1.Text
        50      b = Me.TextBox2.Text
        51      c = Me.TextBox3.Text
        52      vr = a > b Xor b > c
        53      Me.TextBox4.Text = CStr(a) & ">" & CStr(b) & " Xor " & CStr(b) + ">"
    & CStr(c)
        54      Me.TextBox5.Text = vr
        55      vr = a > b Xor b < c
        56      Me.TextBox6.Text = CStr(a) & ">" & CStr(b) & " Xor " & CStr(b) & "<"
    & CStr(c)
        57      Me.TextBox7.Text = vr
        58      vr = a < b Xor b < c
        59      Me.TextBox8.Text = CStr(a) & "<" & CStr(b) & " Xor " & CStr(b) & "<"
    & CStr(c)
        60      Me.TextBox9.Text = vr
        61  End Sub

代码2-16的执行步骤如下:

① 用户在三个文本框中分别输入三个整数,单击4个按钮中的一个执行相应运算符的逻辑运算;

② 第5行到第19行代码是“And”按钮的单击事件,实现逻辑与运算,并将表达式和结果显示在窗体上;

③ 第20行到第33行代码是“Or”按钮的单击事件,实现逻辑或运算,并将表达式和结果显示在窗体上;

④ 第34 行到第47 行代码是“Not”按钮的单击事件,实现逻辑非运算,并将表达式和结果显示在窗体上;

⑤ 第48 行到第61 行代码是“Xor”按钮的单击事件,实现逻辑异或运算,并将表达式和结果显示在窗体上。

4 运行结果

按F5键,运行程序,结果如图2-18所示,图中显示的信息是单击“Or”按钮所得的结果。

图2-18 实例2-12运行结果

位运算符如表2-10所示。

表2-10 位运算符

2.3.6 运算符的优先级

在每个表达式进行运算时,每一部分的运算都要按照一定的顺序进行计算,这个顺序就是运算的优先顺序,也叫运算符的优先级,表达式运算按照下列规则计算。

(1)运算符运算从左到右进行;

(2)算术运算符总是首先计算,然后是比较运算符,最后是逻辑运算符;

(3)比较运算符都有相同的优先级;

(4)使用括号来改变优先顺序,强制命令表达式中的某些部分优先执行,括号里的表达式先计算,括号外的表达式后计算;

(5)连接(&)运算符优先级在所有算术运算符之后,所有比较运算符之前。

表2-11列出了各运算符的优先顺序。

表2-11 运算符的优先级

显然,字符串连接运算符的其中一个(&)不是算术运算符,但就优先级而言,它排在所有算术运算符之后,以及所有比较运算符之前。