Operatoren

Sie können mit Variablen arbeiten, z.B. rechnen. Aber dazu muss noch ein Begriff geklärt werden: Operatoren. Bei Operatoren handelt es sich um "Werkzeuge", die es Ihnen ermöglichen, mit Variablen zu arbeiten. Jeder Operator erfüllt einen bestimmten Zweck. Und jeder Operator darf nur für diesen Zweck verwendet werden. Man kann Operatoren in mehrere Gruppen einteilen:

  • Arithmetische Operatoren,
  • Vergleichsoperatoren und
  • logische Operatoren

Im Folgenden werden die Operatoren beschrieben - unabhängig von einer Programmiersprache.

Arithmetische Operatoren

Arithmetische Operatoren

Diese Operatoren dürften am leichtesten zu verstehen sein, denn wir kennen sie schon alle seit der Grundschule:+, -, *, / - die vier Grundrechenarten. Es gibt noch einen fünften Operator, der den meisten von Ihnen auf den ersten Blick vermutlich nicht viel sagt, den Sie aber auch seit der Grundschule kennen: Modulo.

Erinnern wir uns an die Grundschule und rechnen die folgenden beiden Rechenaufgaben:

  • 8 / 4 = 2 Rest 0
  • 14 / 4 = 3 Rest 2

Der Modulo-Operator ermittelt den in den Beispielen errechneten Rest. Die beiden Aufgaben würden mit Modulo also folgendermaßen gelöst werden:

  • 8 Modulo 4 = 0
  • 14 Modulo 4 = 2

Wozu benötigt man diesen merkwürdigen Modulo-Operator? Man kann damit z.B. feststellen, ob eine Zahl durch eine andere teilbar ist. Ergibt die Berechnung mit Modulo den Wert 0, sind die Zahlen teilbar, sonst nicht. Aus den beiden Modulo-Berechnungen können wir schließen, dass 8 durch 4 teilbar ist und dass 14 nicht durch 4 teilbar ist.

Vergleichsoperatoren

Vergleichsoperatoren dienen zum Vergleich zweier Werte. Auch diese sollten jedem Leser aus der Schule bekannt sein. Im Folgenden werden sie aufgeführt, in Klammern dahinter finden Sie die Darstellung in den meisten Programmiersprachen:

  • kleiner (<)
  • größer (>)
  • kleiner gleich (<=)
  • größer gleich (>=)
  • ungleich (!= oder <>)
  • gleich (== oder =)

Während bei den arithmetischen Operatoren das Ergebnis der Berechnung eine Zahl ist, ist das Ergebnis bei den Vergleichsoperatoren ein sogenannter boolscher Wert: entweder wahr oder falsch.

Als Beispiel schauen wir uns mal 10 < 4 an. Entweder ist 10 kleiner als 4 oder nicht. Das Ergebnis dieses Vergleichs ist wahr oder falsch. In diesem Beispiel wissen wir, dass das Ergebnis falsch ist. Mit Vergleichsoperatoren werden sogenannte Bedingungen erstellt. Eine Bedingung ist entweder wahr oder falsch. So ist unser Vergleich 10 < 4 eine Bedingung.

Logische Operatoren

Sie verknüpfen die oben erwähnten Bedingungen miteinander. Es gibt drei logische Operatoren (in Klammern stehen die häufigsten Entsprechungen in Programmiersprachen):

  • und (and, &&)
  • oder (or, ||)
  • nicht (!)

Bei einem logischen "und" müssen beide Bedingungen wahr sein, damit die verknüpfte Bedingung wahr wird. Schauen wir uns das für eine Variable a an: a < 10 und a > 0. Diese verknüpfte  Bedingung ist wahr für alle Zahlen zwischen 0 und 10.Sehen wir uns drei mögliche Werte für die Variable a an:

  • 5 ist kleiner als 10 UND größer als 0. Beide Bedingungen sind wahr, also ist die gesamte Bedingung wahr.
  • -5 ist kleiner als 10, aber nicht größer als 0. Die erste Bedingung ist wahr, die zweite falsch. Also ist die gesamte Bedingung falsch.
  • 100 ist zwar größer als 0, aber nicht kleiner als 10. Somit ist nur eine Teilbedingung wahr und die gesamte Bedingung ist falsch.

Bei einem logischen "oder" sieht die Sache ein wenig anders aus. Bei einem "oder" reicht es, wenn eine Bedingung wahr ist, damit das Ganze wahr wird. Versuchen wir es mit einem anderen Beispiel: a < 0 oder a > 100. Und auch hier möchten wir einige Werte für a betrachten:

  • -100 ist kleiner als 0, aber nicht größer als 100. Das ist aber nicht schlimm, denn bei "oder" genügt es, wenn eine Teilbedingung wahr ist. Mit der Zahl -100 als a wäre die Bedingung also wahr.
  • Wenn wir a auf 1000 setzen, wäre die Bedingung auch wahr, denn 1000 ist größer als 100. Wieder gilt: eine Teilbedingung ist wahr. Das reicht.
  • Verwenden wir jedoch 50, haben wir Pech. Denn dann sind beide Teilbedingungen falsch und somit ist die gesamte Bedingung falsch.

Tutorial zu den Programmier-Grundlagen - Unabhängig von einer Programmiersprache

Variablen und Datentypen

Operatoren im Einsatz

Wie werden die Operatoren nun eingesetzt? Im Allgemeinen werden sie zusammen mit Variablen verwendet, in denen die Ergebnisse gespeichert werden. Denken Sie noch einmal an die Schubladen aus dem ersten Teil dieses Tutorials. Jede Variable ist eine Schublade mit einem Namen und einem Inhalt. Stellen wir uns die beiden Schubladen mit den Namen zahl1 und zahl2 vor (Variablennamen beginnen übrigens immer mit einem Kleinbuchstaben).

Wir möchten nun die Inhalte der beiden Schubladen miteinander addieren. Wir rechnen also zahl1 + zahl2. Aber das Ergebnis muss irgendwo hin. Es muss in eine Schublade gelegt werden. Wir stellen uns also eine weitere Schublade mit dem Namen ergebnis vor. Dort legen wir die Summe rein: ergebnis = zahl1 + zahl2

Diese Anweisung berechnet die Summe aus den beiden Zahlen und legt sie in die Schublade ergebnis. Wir können aber das Ergebnis auch in eine der beiden Schubladen aus der Rechnung legen: zahl1 = zahl1 + zahl2.

Das bedeutet, wir nehmen den Wert aus zahl1 und aus zahl2, bilden die Summe und legen diese in die Schublade zahl1. Der alte Wert wird dabei natürlich gelöscht. Nehmen wir an, in zahl1 liegt eine 6 und in zahl2 eine 4. Die beiden werden miteinander addiert und das Ergebnis, 10, wird in die Schublade zahl1 gelegt. Die 6 wird dabei gelöscht.

So funktionieren alle arithmetischen Operatoren. Wir berechnen aus zwei Variablen einen Wert und speichern den in einer Variable. Dies kann eine der beiden an der Rechnung beteiligten sein oder eine ganz neue.

Natürlich dürfen an einer Rechnung auch mehr Operatoren und mehr Variablen beteiligt sein. Möglich wäre z.B. auch: (zahl1 + zahl2) * zahl3 / zahl1. Dabei gelten die Regel Punkt-vor-Strich und Klammerregeln, wie sie aus der Schule bekannt sind. Solche Anweisungen bezeichnet man übrigens auch als Ausdrücke.

Laden ...
Fehler!