Programmstruktur in Java - Kekziie/Informatik-II-SS-2017 GitHub Wiki

Zuweisungen und Ausdrücke

Zuweisung besteht aus:

  • Name einer Variable
  • Gleichheitszeichen =
  • Ausdruck
  • abschließendes Semikolon ;

Allgemein:

variable = <Ausdruck> ;

kombinierbar mit Variablendeklaration

<Datentyp> variable = <Ausdruck>;

Ausdrücke:

  • Komposition von Operanden/ Operatoren
  • innerhalb eines Ausdrucks kann Wert einer Variablen durch Angabe des Variablennamens verwendet werden

Beispiel: int a, b;

a = 5 * 3;
b = (a + 7) % 13;

Ablauf einer Zuweisung

  1. linke Seite der Zuweisung wird ausgewertet
  2. rechte Seite (Ausdruck) wird ausgewertet
    • ihr Wert unter Beachtung der Präzedenzregeln ermittelt
  3. falls Wert der rechten Seite typkompatibel
    • Zuweisung des Wertes an die Variable

Arithmetische Operatoren

  • Addition: +
  • Subtraktion: -
  • Multiplikation: *
  • Ganzzahlige Division: /
  • Modulo: %

Präzedenzregel: nach arithmetischen Regel: "Punkt vor Strich"

Kurzschreibweisen

i += a
i = i + a

i -=a
i = i - a

usw.

Inkrement i++ // nach Verwendung des Wertes i ++i // inkrementiert vor Verwendung des Wertes von i i += 1

Dekrement i-- // nach Verwendung des Wertes i --i // dekrementiert vor Verwendung des Wertes von i i -= 1

Beispiel:

int a = 6, b, c;

b = a++ * 3;   // Inhalte der Variablen: b=18 und a=7
c = ++a / 2;   // Inhalte der Variablen: a=8 und c=4

Präzedenzregeln

  1. Einstellige Operationen ++,--, negative/positives Vorzeichen, ! (Negation)
  2. Multiplikative Operationen: *, /, %
  3. Additive Operationen: +,-
  4. Vergleichsoperationen: == (gleich), != (ungleich), >, <, >=, <=
  5. Konjunktion: &&
  6. Disjunktion: ||
  7. Zuweisungsoperatoren: =, +=, -=, *=, /=, %=

Verwendung von Klammern zum Strukturieren

Anweisungen und Anweisungsfolgen

  • Programme sind Folgen von Vereinbarungen und Anweisungen
    • bei Ausführung: sequentielle Abarbeitung der Folge
    • imperative Programmierung: Ausführung führt zur schrittweisen Veränderung des (Programm-)Zustandes
  • jede Anweisung durch Semikolon ; abgeschlossen
  • Ausnahme: geschweifte Klammern {}

Blöcke (Gruppen von Anweisungen)

Beispiel: public static void main (String[] args) { double d = 5.0; float f = 3.7f; { int i = (int) (d*f); i = i + 8; } }

  • Anweisungen können mithilfe von geschweiften Klammern {} gruppiert werden
  • eine Gruppe stellt dann selbst eine Anweisung dar
  • mittel {...} wird ein Block definiert

Hinweise:

  • Variablen, die in einem Block deklariert sind, sind nur innerhalb des Blocks gültig
  • deklarierte Größen (Variablen, Konstanten) sind nur während der Ausführungszeit des entsprechenden Blocks gültig
  • innerhalb des Blocks dürfen Größen der umschließenden Blöcke bis zur Ebene der Methode verwendet werden
  • Größen dürfen nicht mit demselben Namen neu deklariert werden (unabhängig vom Datentyp)

Programm-Verzweigungen

für komplexe Probleme muss häufig entschieden werden, welcher Programmabschnitt ausgeführt werden soll:

  • einfache Bedingungen: ein Block wird ausgeführt oder nicht (siehe if/else)
  • alternative Auswahl: ein Block oder ein anderer Block wird ausgeführt (siehe if/else)
  • Mehrfachauswahl: einer von vielen Blöcken ausgewählt (siehe if/else und switch)
⚠️ **GitHub.com Fallback** ⚠️