' Visual Basic 2008 9.0 .NET Examples - Operators - Introduction to Visual Basic : Module Example1 Sub Main() Dim x As Integer = 2 Dim y As Integer = 3 ' Console.WriteLine(x ^ -y) ' y = -3 ' Console.WriteLine(x ^ -y) ' Console.ReadLine() End Sub End Module Module Example2 Sub Main() Dim x As Integer = -2 Dim y As Integer = 4 ' Console.WriteLine(-x ^ y) ' Console.ReadLine() End Sub End Module Module Example3 Sub Main() Console.WriteLine(Not 10 * -4 / 2 ^ 2 + 11 = 8 Mod 10 \ -5 ^ 2 / 5 + 1 _ OrElse -8 ^ -2 <= 1 AndAlso True = False) ' exponentiation and unary negation : ' 2 ^ 2 -> 4 ' -5 ^ 2 -> -(5 ^ 2) -> -25 ' -8 ^ -2 -> -(8 ^ -2) -> -0.015625 Console.WriteLine(Not 10 * -4 / 4 + 11 = 8 Mod 10 \ -25 / 5 + 1 _ OrElse -0.015625 <= 1 AndAlso True = False) ' multiplication : ' 10 * -4 -> -40 Console.WriteLine(Not -40 / 4 + 11 = 8 Mod 10 \ -25 / 5 + 1 _ OrElse -0.015625 <= 1 AndAlso True = False) ' division : ' -40 / 4 -> -10 ' -25 / 5 -> -5 Console.WriteLine(Not -10 + 11 = 8 Mod 10 \ -5 + 1 _ OrElse -0.015625 <= 1 AndAlso True = False) ' integer division : ' 10 \ -5 -> -2 Console.WriteLine(Not -10 + 11 = 8 Mod -2 + 1 _ OrElse -0.015625 <= 1 AndAlso True = False) ' modulus ' 8 Mod -2 -> 0 Console.WriteLine(Not -10 + 11 = 0 + 1 _ OrElse -0.015625 <= 1 AndAlso True = False) ' addition and subtraction : ' -10 + 11 -> 1 ' 0 + 1 -> 1 Console.WriteLine(Not 1 = 1 OrElse -0.015625 <= 1 AndAlso True = False) ' comparison : ' 1 = 1 -> True ' -0.015625 <= 1 -> True ' True = False -> False Console.WriteLine(Not True OrElse True AndAlso False) ' negation : ' Not True -> False Console.WriteLine(False OrElse True AndAlso False) ' conjunction : ' True AndAlso False -> False Console.WriteLine(False OrElse False) ' disjunction : ' False OrElse False -> False Console.WriteLine(False) ' Console.ReadLine() End Sub End Module Module Example4 Sub Main() Dim value As Integer = 2 ' value *= 3 + 4 ' (1) ' Console.WriteLine(value) ' Console.ReadLine() End Sub End Module Module Example5 Sub Main() Dim message As String = "Hello" ' message &= " World !" ' Console.WriteLine(message) ' Console.ReadLine() End Sub End Module Module Example6 Sub Main() Console.WriteLine(7 And 10) Console.WriteLine(7 Or 10) Console.WriteLine(7 Xor 10) ' Console.WriteLine(7 And Not 7) ' Console.ReadLine() End Sub End Module Module Example7 Sub Main() Dim tamagotchiState As Integer = 5 ' ... If (tamagotchiState And 1) = 1 Then Console.WriteLine("happy") If (tamagotchiState And 2) = 2 Then Console.WriteLine("thirsty") If (tamagotchiState And 4) = 4 Then Console.WriteLine("hungry") ' (1) If (tamagotchiState And 8) = 8 Then Console.WriteLine("tired") Console.WriteLine() ' Console.WriteLine("making tamagotchi not hungry ...") tamagotchiState = tamagotchiState And Not 4 ' (2) Console.WriteLine() ' If (tamagotchiState And 1) = 1 Then Console.WriteLine("happy") If (tamagotchiState And 2) = 2 Then Console.WriteLine("thirsty") If (tamagotchiState And 4) = 4 Then Console.WriteLine("hungry") If (tamagotchiState And 8) = 8 Then Console.WriteLine("tired") Console.WriteLine() ' Console.WriteLine("making tamagotchi thirsty ...") tamagotchiState = tamagotchiState Or 2 ' (3) Console.WriteLine() ' If (tamagotchiState And 1) = 1 Then Console.WriteLine("happy") If (tamagotchiState And 2) = 2 Then Console.WriteLine("thirsty") If (tamagotchiState And 4) = 4 Then Console.WriteLine("hungry") If (tamagotchiState And 8) = 8 Then Console.WriteLine("tired") Console.WriteLine() ' Console.WriteLine("making tamagotchi happy, hungry and tired ...") tamagotchiState = tamagotchiState Or 1 Or 4 Or 8 Console.WriteLine() ' If (tamagotchiState And 1) = 1 Then Console.WriteLine("happy") If (tamagotchiState And 2) = 2 Then Console.WriteLine("thirsty") If (tamagotchiState And 4) = 4 Then Console.WriteLine("hungry") If (tamagotchiState And 8) = 8 Then Console.WriteLine("tired") Console.WriteLine() ' Console.WriteLine("making tamagotchi not hungry and not tired ...") tamagotchiState = tamagotchiState And Not 4 And Not 8 Console.WriteLine() ' If (tamagotchiState And 1) = 1 Then Console.WriteLine("happy") If (tamagotchiState And 2) = 2 Then Console.WriteLine("thirsty") If (tamagotchiState And 4) = 4 Then Console.WriteLine("hungry") If (tamagotchiState And 8) = 8 Then Console.WriteLine("tired") Console.WriteLine() ' Console.WriteLine("inverting states ...") tamagotchiState = Not tamagotchiState Console.WriteLine() ' If (tamagotchiState And 1) = 1 Then Console.WriteLine("happy") If (tamagotchiState And 2) = 2 Then Console.WriteLine("thirsty") If (tamagotchiState And 4) = 4 Then Console.WriteLine("hungry") If (tamagotchiState And 8) = 8 Then Console.WriteLine("tired") ' Console.ReadLine() End Sub End Module Module Example8 Sub Main() Console.WriteLine(7 << 2) Console.WriteLine(7 >> 1) ' Dim number As Integer = 7 number <<= 2 ' (1) Console.WriteLine(number) number = 7 number >>= 1 ' (2) Console.WriteLine(number) ' Console.ReadLine() End Sub End Module Module Example9 Sub Main() Dim value As Integer Dim position As Integer Dim counter As Integer Dim start As Integer ' value = 12 position = 1 Do While (value And 1) = 0 ' (1) value >>= 1 position += 1 Loop Console.WriteLine("12 : Bit at position " & position & _ " from the right is 1.") ' value = 12 position = 1 Do While value Mod 2 <> 1 ' (2) value /= 2 position += 1 Loop Console.WriteLine("12 : Bit at position " & position & _ " from the right is 1.") ' start = Environment.TickCount() For counter = 1 To 10000000 ' (3) value = counter position = 0 ' Do While (value And 1) = 0 ' (1) value >>= 1 position += 1 Loop Next Console.WriteLine("Bitwise calculation done in " & _ Environment.TickCount() - start & " tickcounts.") ' start = Environment.TickCount() For counter = 1 To 10000000 ' (3) value = counter position = 0 ' Do While value Mod 2 <> 1 ' (2) value /= 2 position += 1 Loop Next Console.WriteLine("Normal calculation done in " & _ Environment.TickCount() - start & " tickcounts.") ' Console.ReadLine() End Sub End Module Module Exercise2Task Sub Main() Dim value1, value2, value3 As Integer ' value1 += 5 value2 -= value1 * 6 + 1 value3 += value1 + 5 * value2 value3 *= value3 / -3 value1 /= 1 / (value2 + 41) value2 \= 10 + value1 / 5 ' Console.WriteLine(value1) ' ? Console.WriteLine(value2) ' ? Console.WriteLine(value3) ' ? ' Console.ReadLine() End Sub End Module Module Exercise2Solution Sub Main() Dim value1, value2, value3 As Integer ' value1 += 5 ' value1 = value1 + 5 ' = 0 + 5 ' = 5 value2 -= value1 * 6 + 1 ' value2 = value2 - (value1 * 6 + 1) ' = 0 - (5 * 6 + 1) ' = 0 - (30 + 1) ' = -31 value3 += value1 + 5 * value2 ' value3 = value3 + (value1 + 5 * value2) ' = 0 + (5 + 5 * -31) ' = 0 + (5 + -155) ' = 0 + -150 = -150 value3 *= value3 / -3 ' value3 = value3 * (value3 / -3) ' = -150 * (-150 / -3) ' = -150 * 50 ' = -7500 value1 /= 1 / (value2 + 41) ' value1 = value1 / (1 / (value2 + 41)) ' = 5 / (1 / (-31 + 41)) ' = 5 / (1 / 10) ' = 50 value2 \= 10 + value1 / 5 ' value2 = value2 \ (10 + value1 / 5) ' = -31 \ (10 + 50 / 5) ' = -31 \ (10 + 10) ' = -31 \ 20 ' = -1 ' Console.WriteLine(value1) ' 50 Console.WriteLine(value2) ' -1 Console.WriteLine(value3) ' -7500 ' Console.ReadLine() End Sub End Module ' Visit www.studyvb.com for more examples. Copyright 2003-2008 De Wolf.