Programmierkurs Java

 Java

 21 views
of 22
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Description
Programmierkurs Java Teil Imperative Programmierung Unterrichtseinheit 10 Variablen (Hamster-Modell) Dr. Dietrich Boles Programmierkurs Java UE 10 Variablen…
Share
Transcript
Programmierkurs Java Teil Imperative Programmierung Unterrichtseinheit 10 Variablen (Hamster-Modell) Dr. Dietrich Boles Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 1 Gliederung  Motivation  Beispiel  Variablen  Ort der Variablendefinition  Definition  Gültigkeitsbereich und  Initialisierung Lebensdauer  Ausdrücke  Codekonventionen  Motivation  Zusammenfassung  Definition  Operatoren  Zuweisung  Operatoreneigenschaften Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 2 Motivation  Motivation:  Der Hamster soll bis zur nächsten Wand laufen, dabei alle Körner einsammeln, die er findet, und an der Wand genauso viele Körner ablegen, wie er eingesammelt hat.  Notwendige Voraussetzungen:  Gedächtnis ( Speicher)  Zählen/Rechnen/Vergleichen ( Operationen)  Programm: *1:"gefundene Anzahl ist 0"; while (vornFrei()) { vor(); while (kornDa()) { nimm(); *2:"erhöhe gefundene Anzahl um 1"; } } while ( *3:"gefundene Anzahl größer als 0 ist" ) { gib(); *4:"erniedrige gefundene Anzahl um 1"; } Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 3 Variablen / Definition (1)  Notwendig für *1:  Reservierung von Speicherplatz ( Variablendefinition)  Festlegung eines Namens ( Variablendeklaration)  Festlegung des Typs ( Datentypen)  Initialer Wert ( Initialisierung)  hier: int anzahl = 0;  Variablendeklaration/-definition:  Deklaration: Bekanntgabe eines Namens für den Speicherbereich an den Compiler  Definition: Reservierung von Platz im Hauptspeicher Hauptspeicher Programm Daten "Gedächtnis" Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 4 Variablen / Definition (2) Syntax: ::= "=" {"," "=" } ";" ::= "int" Semantik: Es wird Speicherplatz zum Speichern einer Zahl angelegt und initialisiert. Beispiele: int anzahl = 0; int koelnischWasser = 4711; int eins = 1, zwei = 2, drei = 3; Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 5 Variablen / Initialisierung  Initialisierung von Variablen  mit Hilfe von Literalen bzw. Ausdrücken  Literale: Typ-spezifische Konstanten  int: Zeichenketten aus  dezimalen 29  oktalen (führende 0): 035  hexadezimalen Ziffern (führendes 0x): 0x1D Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 6 Ausdrücke / Motivation  Notwendig für *2 , *3 und *4 im Beispiel auf Folie 3:  Operationen ( Mathematik)  Operatoren  Operanden  Sinn und Zweck: Berechnung neuer Werte aus alten Werten  Beispiel: int anzahl = 0; anzahl = anzahl + 1; Operator Operand Operand Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 7 Ausdrücke / Definition  Ausdruck:  Verarbeitungsvorschrift, deren Ausführung einen Wert liefert  können mit Hilfe von Operatoren zu komplexeren Ausdrücken verknüpft werden Syntax: ::= | | "(" ")" | | Semantik: Literal: liefert Wert des Literals Variablenname: liefert den aktuell in der Variablen gespeicherten Wert Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 8 Ausdrücke / Operatoren (1) geliefert wird die berechnete Zahl +: positives Vorzeichen +9876 -: negatives Vorzeichen -2345 +: Addition 12 + 98 (= 110) -: Subtraktion 12 - 98 (= -86) *: Multiplikation 6 * 5 (= 30) /: Ganzzahl-Division 7 / 3 (= 2) %: Restbildung (modulo) 7 % 3 (= 1) Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 9 Ausdrücke / Operatoren (2) geliefert wird boolescher Wert (true, false) ==: Gleichheit 4 == 5 (= false) !=: Ungleichheit 6 != 7 (= true) <: Kleiner -2 < 1 (= true) <=: Kleiner-Gleich 3 <= 3 (= true) >: Größer 3 > 3 (= false) >=: Größer-Gleich 1 >= -1 (= true) Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 10 Ausdrücke / Zuweisung (1) Motivation: Änderung von Variablenwerten Syntax: ::= "=" ";" Semantik: Der Ausdruck wird berechnet und der berechnete Wert in der Variablen gespeichert. Der alte Wert der Variablen geht verloren. Beispiele: int schritte = 3; // Initialisierung schritte = 5; // Zuweisung schritte = schritte + 1; schritte = 5 * (schritte -2); Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 11 Ausdrücke / Zuweisung (2) Schema: int zahl = 4; int number = 12; zahl number zahl = zahl + number / 5; Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 12 Ausdrücke / Zuweisung (3) Abkürzungen: i++ i = i + 1 ++i i-- i = i - 1 --i i += i = i + () i -= i = i - () i *= i = i * () i /= i = i / () i %= i = i % () Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 13 Ausdrücke / Operatoren / Eigenschaften  Präzedenz (absteigend):  Postfix-Operatoren ++, --  Multiplikationsoperatoren *, /, %  Additionsoperatoren +, -  Gleichheitsoperatoren ==, !=  Zuweisungsoperatoren =, +=, *=, ...  Abänderung der Präzedenz mit Hilfe von Klammern  Assoziativität:  wichtig bei Operatoren gleicher Präzedenz  alle unären Operatoren sind rechts-assoziativ  alle binären Operatoren außer den Zuweisungsop. sind links-assoziativ  Zuweisungsoperatoren sind rechts-assoziativ Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 14 Beispiel  Motivation: Der Hamster soll bis zur nächsten Wand laufen, dabei alle Körner einsammeln, die er findet, und an der Wand genauso viele Körner ablegen, wie er eingesammelt hat.  Programm: void main() { int anzahl = 0; while (vornFrei()) { vor(); while (kornDa()) { nimm(); anzahl = anzahl + 1; } } while (anzahl > 0) { gib(); anzahl = anzahl - 1; } } Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 15 Ort der Variablendefinition zwei Varianten von Variablendefinitionen: als Definition (globale Variable) als Anweisung (lokale Variable) int schritte = 0; void main() { void main() { int schritte = 0; while (vornFrei()) { while (vornFrei()) { vor(); vor(); schritte++; schritte++; } } } } Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 16 Gültigkeitsbereich und Lebensdauer (1)  Gültigkeitsbereich einer Variablen: Der Teil eines Programms, in dem eine Variable genutzt werden kann.  bei lokalen Variablen:  beschränkt sich auf den Block, in dem die Variable definiert wurde.  beginnt ab der Stelle der Definition.  bei globalen Variablen:  umfasst das gesamte Programm.  Ausnahmen: eigener Initialisierungsausdruck und Initialisierungsausdrücke vorher definierter globaler Variablen.  Allgemein:  Im Gültigkeitsbereich einer Variablen darf keine neue Variable gleichen Namens definiert werden; Ausnahme: Gleichnamige globale und lokale Variablen sind erlaubt (lokale überladen globale Variablen) Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 17 Gültigkeitsbereich und Lebensdauer (2)  Lebensdauer einer Variablen: Zeitspanne, während der Speicherplatz für eine Variable reserviert ist.  bei lokalen Variablen:  beginnt bei ihrer Definition und endet nach der vollständigen Abarbeitung des Blockes, in dem sie definiert wurde  bei globalen Variablen:  umfasst die gesamte Ausführungszeit des Programms Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 18 Gültigkeitsbereich und Lebensdauer (3)  Aufgabe: Der Hamster soll bis zur nächsten Wand laufen, dabei alle Körner einsammeln, die er findet, und an der Wand genauso viele Körner ablegen, wie er eingesammelt hat.  Korrektes Programm mit globaler Variable anzahl: void sammle() { int anzahl = 0; while (kornDa()) { nimm(); void main() { anzahl = anzahl + 1; sammle(); } while (vornFrei()) { } vor(); sammle(); void legeAb() { } while (anzahl > 0) { legeAb(); gib(); } anzahl = anzahl - 1; } } Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 19 Gültigkeitsbereich und Lebensdauer (4)  Aufgabe: Der Hamster soll bis zur nächsten Wand laufen, dabei alle Körner einsammeln, die er findet, und an der Wand genauso viele Körner ablegen, wie er eingesammelt hat.  Fehlerhaftes Programm mit zwei lokalen Variablen anzahl: void sammle() { void main() { int anzahl = 0; sammle(); while (kornDa()) { while (vornFrei()) { nimm(); vor(); anzahl = anzahl + 1; sammle(); } } } legeAb(); void legeAb() { } int anzahl = 0; while (anzahl > 0) { gib(); anzahl = anzahl - 1; } } Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 20 Codekonventionen  Variablenname: Anfangsbuchstabe klein; Anfangsbuchstaben neuer Wortbestandteile groß  Variablenname: aussagekräftig !!!  Variablen möglichst einzeln deklarieren  keine gleichnamigen globalen und lokalen Variablen verwenden  vor und hinter binären Operatoren ein Leerzeichen Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 21 Zusammenfassung  Variable: logischer Speicherplatz zur Speicherung eines Wertes  Ausdruck: Verarbeitungsvorschrift, deren Ausführung einen Wert liefert  boolescher Ausdruck: geliefert wird Wahrheitswert  arithmetischer Ausdruck: geliefert wird Zahl  Operatoren: Verknüpfung von Ausdrücken  Zuweisung: Änderung des in einer Variablen gespeicherten Wertes  Gültigkeitsbereich: Teil eines Programms, in dem auf eine Variable zugegriffen werden kann  Lebensdauer: Zeitspanne, während der Speicherplatz für eine Variable reserviert ist Programmierkurs Java UE 10 Variablen Dietrich Boles Seite 22
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks