Suche
Suche Menü

Operatoren

Zuweisung

Den einfachsten Operator = haben wir bereits aus den bisherigen Beispielen kennengelernt, er setzt eine Variable auf einen bestimmten Wert. Auf der linken Seite von = muss also eine Variable stehen, auf der rechten Seite ein Ausdruck, z.B. ein konstanter Wert, eine Formel, oder eine Variable.

int a, b;

// Zuweisung eines konstanten Wertes, a ist 1
a = 1;

// Zuweisung eines Variablenwertes, b ist 1
b = a;

Inkrement & Dekrement

Wollen wir den Wert einer Variablen um eins erhöhen oder erniedrigen, empfiehlt es sich die Inkrement- und Dekrement-Operatoren zu nutzen. Im folgendem Beispiel erledigen wir das Inkrementieren und Dekrementieren mit und ohne Inkrement- und Dekrement-Operatoren, um den praktischen Vorteil zu erkennen.

int a=0, b=0;

// a mit Inkrement-Operator hochzählen
a++;

// b ohne Inkrement-Operator hochzählen
b = b + 1;

// a dekrementieren, a ist wieder 0
a--;

// b ohne Inkrement-Operator dekrementieren
b = b - 1;

Bei der Zuweisung gibt es mit ++ und noch eine Besonderheit:

int a,  b=0;

// Erst Zuweisung, dann Inkrement, a ist 0, b ist 1
a = b++;

// Erst Inkrement, dann Zuweisung, a ist 2, b ist 2
a = ++b;

Rechenoperatoren

Für das Rechnen stehen uns die folgenden bekannten Operatoren zur Verfügung:

  • Addition: +
  • Subtraktion:
  • Multiplikation: *
  • Division: /
  • Modulo (Rest): %

Wenden wir die Multiplikation und Division auf int Variablen an, welche bekanntlich nur ganze Zahlen speichern können, wird automatisch gerundet. Der Nachkommateil wird hierbei einfach weggeschnitten, d.h. aus 2.1, 2.5 und 2.9 wird einfach 2.

int a=0, b=2, c=5;

a = b + c;  // a ist 7
a = b - c;  // a ist -3
a = c / b;  // a ist 2
a = c * b;  // a ist 10

// Rest aus Division berechnen
a = c % b;  // 5 / 2 ist 2 Rest 1, a ist 1
a = c % 3;  // 5 / 3 ist 1 Rest 2, a ist 2

// Prioritäten mit Klammern setzen
a = 1 + b * c;    // Punkt vor Strich, a ist 11
a = (1 + b) * c;  // 1+2 ist 3, 3*5 ist 15, a ist 15

Möchte man den bisherigen Wert der Zielvariable mit verwenden, so kann man auch eine Kurzschreibweise für alle Rechenoperatoren verwenden. Hierfür wird der Operator vor die Zuweisung gesetzt.

int a=1, b=2;

a += 1;      // wie a=a+1 oder a++, a ist 2
a += b * 4;  // a ist 10
a /= 2;      // a ist 5
a %= 2;      // a ist 1