2.2 Operatoren 

Zum Zusammensetzen von Ausdrücken werden in Visual Basic, wie in jeder anderen Programmiersprache auch, Operatoren verwendet. In diesem Buch wurden schon die Operatoren = für Zuweisungen und & für Verkettungen verwendet.
Priorität
Es gibt verschiedene Kategorien von Operatoren. Vorrangregeln (Prioritäten) sind für die Reihenfolge der Abarbeitung zuständig, falls mehrere Operatoren innerhalb eines Ausdrucks verwendet werden. Diese Vorrangregeln sind weiter unten in diesem Abschnitt angegeben. Falls Sie sich bei der Verwendung dieser Regeln nicht sicher sind, so empfiehlt es sich, durch eigene Klammersetzung die Reihenfolge explizit festzulegen.
2.2.1 Rechenoperatoren 

Rechenoperatoren
Rechenoperatoren dienen zur Durchführung von Berechnungen, siehe Tabelle 2.1.
Operator | Beschreibung |
+ |
Addition |
- |
Subtraktion oder Negation |
* |
Multiplikation |
/ |
Division |
\ |
Ganzzahl-Division |
^ |
Potenzierung |
Mod |
Modulo |
Ganzzahl-Division
Die Ganzzahl-Division wird in zwei Schritten durchgeführt. Im ersten Schritt werden Dividend und Divisor einzeln gerundet. Im zweiten Schritt werden die beiden verbliebenen Zahlen geteilt, anschließend werden die Ziffern nach dem Komma abgeschnitten. Tabelle 2.2 zeigt einige Beispiele.
Ausdruck | Ergebnis |
19 / 4 |
4.75 |
19 \ 4 |
4 |
19 \ 4.6 |
3 |
19.5 \ 4.2 |
5 |
Modulo
Der Modulo-Operator Mod berechnet den Rest einer Division. Einige Beispiele sehen Sie in Tabelle 2.3.
Ausdruck | Ergebnis | Erklärung |
19 Mod 4 |
3 |
19 durch 4 ist 4 Rest 3 |
19.5 Mod 4.2 |
2.7 |
19,5 durch 4,2 ist 4 Rest 2,7 |
Zur Potenzierung einer Zahl dient der Operator ^ (hoch), Beispiele siehe Tabelle 2.4.
Ausdruck | Ergebnis |
2 ^ 5 |
32 |
3 ^ 2 ^ 3 |
729 |
2 ^ 5.4 |
–42.2242531447326 |
(-2) ^ 5 |
–32 |
Multiplikation und Division innerhalb eines Ausdrucks sind gleichrangig und werden von links nach rechts in der Reihenfolge ihres Auftretens ausgewertet. Dasselbe gilt für Additionen und Subtraktionen, die zusammen in einem Ausdruck auftreten. Multiplikation und Division werden vor Addition und Subtraktion ausgeführt.
Klammern
Mit Klammern können Sie diese Rangfolge außer Kraft setzen, damit bestimmte Teilausdrücke vor anderen Teilausdrücken ausgewertet werden. In Klammern gesetzte Operationen haben grundsätzlich Vorrang. Innerhalb der Klammern gilt jedoch wieder die normale Rangfolge der Operatoren.
Übung
Übung ÜRechenoperatoren
Berechnen Sie die beiden folgenden Ausdrücke, speichern Sie das Ergebnis in einer Variablen eines geeigneten Datentyps und zeigen Sie es an:
- 1. Ausdruck: 3 * –2.5 + 4 * 2
- 2. Ausdruck: 3 * (-2.5 + 4) * 2
2.2.2 Vergleichsoperatoren 

Vergleich
Vergleichsoperatoren (siehe Tabelle 2.5) dienen dazu festzustellen, ob bestimmte Bedingungen zutreffen oder nicht. Das Ergebnis nutzt man unter anderem zur Ablaufsteuerung von Programmen. Abschnitt 2.4 geht hierauf genauer ein.
Operator | Beschreibung |
< |
kleiner als |
<= |
kleiner als oder gleich |
> |
größer als |
>= |
größer als oder gleich |
= |
gleich |
<> |
ungleich |
Einige Beispiele sehen Sie in Tabelle 2.6.
Ausdruck | Ergebnis |
5 > 3 |
True |
3 = 3.2 |
False |
5 + 3 * 2 >= 12 |
False |
Like
Darüber hinaus gibt es noch den Operator Like, der zum Mustervergleich dient. Dabei können Sie unter anderem die Platzhalter * (eines oder mehrere Zeichen) und ? (genau ein Zeichen) einsetzen. Tabelle 2.7 zeigt einige Beispiele.
Ausdruck | Ergebnis |
"abxba" Like "a*a" |
True |
"abxba" Like "a?a" |
False |
"aba" Like "a?a" |
True |
"asdlfigc" Like "a?d?f*c" |
True |
Übung
Übung ÜVergleichsoperatoren
Ermitteln Sie das Ergebnis der beiden folgenden Ausdrücke, speichern Sie es in einer Variablen eines geeigneten Datentyps und zeigen Sie es an:
- 1. Ausdruck: 12 – 3 >= 4 * 2.5
- 2. Ausdruck: "Maier" Like "M??er"
2.2.3 Logische Operatoren 

Logik
Logische Operatoren dienen dazu, mehrere Bedingungen zusammenzufassen. Das Ergebnis nutzt man ebenfalls u. a. zur Ablaufsteuerung von Programmen (siehe hierzu auch Abschnitt 2.4). Die logischen Operatoren sehen Sie in Tabelle 2.8.
Operator | Beschreibung | Das Ergebnis ist True, wenn ... |
Not |
Nicht |
... der Ausdruck False ist. |
And |
Und |
... beide Ausdrücke True sind. |
Or |
Inklusives Oder |
... mindestens ein Ausdruck True ist. |
Xor |
Exklusives Oder |
... genau ein Ausdruck True ist. |
Es seien die Variablen A = 1, B = 3 und C = 5 gesetzt. Die Ausdrücke in der ersten Spalte von Tabelle 2.9 ergeben dann jeweils die Ergebnisse in der zweiten Spalte.
Ausdruck | Ergebnis |
Not (A < B) |
False |
(B > A) And (C > B) |
True |
(B < A) Or (C < B) |
False |
(B < A) Xor (C > B) |
True |
Eine Zusammenstellung der Funktionsweise der logischen Operatoren sehen Sie auch in Tabelle 2.10.
Ausdruck 1 | Ausdruck 2 | Not | And | Or | Xor |
True |
True |
False |
True |
True |
False |
True |
False |
False |
False |
True |
True |
False |
True |
True |
False |
True |
True |
False |
False |
True |
False |
False |
False |
Übung
Übung ÜLogischeOperatoren
Ermitteln Sie das Ergebnis der beiden folgenden Ausdrücke, speichern Sie es in einer Variablen eines geeigneten Datentyps und zeigen Sie es an:
- 1. Ausdruck: 4 > 3 And –4 > –3
- 2. Ausdruck: 4 > 3 Or –4 > –3
2.2.4 Verkettungsoperator 

Umwandlung in String
Der Operator & dient zur Verkettung von Zeichenfolgen. Ist einer der Ausdrücke keine Zeichenfolge, sondern eine Zahl oder Datumsangabe, so wird er in einen String verwandelt. Das Gesamtergebnis ist dann wiederum eine Zeichenfolge. Beispiel:
Public Class Form1 Private Sub cmdAnzeige_Click(...) Handles ... Dim a As String Dim s As Single Dim d As Date d = "05.11.2009" s = 4.6 a = "t " & s & " " & d lblAnzeige.Text = a End Sub End Class
Listing 2.5 Projekt »Verkettungsoperator«
Das Ergebnis ist in Abbildung 2.10 zu sehen. Ein weiteres Beispiel stand bereits in Abschnitt 1.4.5.
Abbildung 2.10 Verkettung
2.2.5 Zuweisungsoperatoren 

Zeichen =
Der einfachste Zuweisungsoperator, das Gleichheitszeichen, wurde bereits genutzt. Es gibt zur Verkürzung von Anweisungen noch einige weitere Zuweisungsoperatoren, siehe Tabelle 2.11.
Operator | Beispiel | Ergebnis |
= |
x = 7 |
x erhält den Wert 7. |
+= |
x += 5 |
Der Wert von x wird um 5 erhöht. |
-= |
x -= 5 |
Der Wert von x wird um 5 verringert. |
*= |
x *= 3 |
Der Wert von x wird auf das Dreifache erhöht. |
/= |
x /= 3 |
Der Wert von x wird auf ein Drittel verringert. |
\= |
x \= 3 |
Der Wert von x wird auf ein Drittel verringert, Nachkommastellen werden abgeschnitten. |
^= |
x ^= 3 |
Der Wert von x wird auf x hoch 3 erhöht. |
&= |
z &= "abc" |
Die Zeichenkette z wird um den Text abc verlängert. |
2.2.6 Rangfolge der Operatoren 

Priorität
Enthält ein Ausdruck mehrere Operationen, so werden die einzelnen Teilausdrücke in einer bestimmten Rangfolge ausgewertet und aufgelöst, die als Rangfolge bzw. Priorität der Operatoren bezeichnet wird. Es gilt die Rangfolge in Tabelle 2.12.
Operator | Beschreibung |
^ |
Exponentialoperator |
- |
negatives Vorzeichen |
*, / |
Multiplikation, Division |
\ |
Ganzzahl-Division |
Mod |
Modulo |
+, - |
Addition, Subtraktion |
& |
Verkettung |
=, <>, <, >, <=, >=, Like |
Vergleichsoperatoren (Das Zeichen = steht für den Vergleich, nicht für die Zuweisung.) |
Not |
logisches Nicht |
And |
logisches Und |
Or |
logisches Oder |
Die Operatoren, die in der Tabelle weiter oben stehen, haben die höchste Priorität.
Klammern
Wie schon bei den Rechenoperatoren erwähnt: Mit Klammern können Sie diese Rangfolge außer Kraft setzen, damit bestimmte Teilausdrücke vor anderen Teilausdrücken ausgewertet werden. In Klammern gesetzte Operationen haben grundsätzlich Vorrang. Innerhalb der Klammern gilt jedoch wieder die normale Rangfolge der Operatoren.
Übung
Übung ÜOperatoren
Sind die Bedingungen in Tabelle 2.13 wahr oder falsch? Lösen Sie die Aufgabe möglichst ohne PC.
Nr. | Werte | Bedingung |
1 |
a=5 b=10 |
a>0 And b<>10 |
2 |
a=5 b=10 |
a>0 Or b<>10 |
3 |
z=10 w=100 |
z<>0 Or z>w Or w-z=90 |
4 |
z=10 w=100 |
z=11 And z>w Or w-z=90 |
5 |
x=1.0 y=5.7 |
x>=.9 And y<=5.8 |
6 |
x=1.0 y=5.7 |
x>=.9 And Not(y<=5.8) |
7 |
n1=1 n2=17 |
n1>0 And n2>0 Or n1>n2 And n2<>17 |
8 |
n1=1 n2=17 |
n1>0 And (n2>0 Or n1>n2) And n2<>17 |