Elementare Anweisungen und Bedingungen

Werbung
5 Elementare Anweisungen und Bedingungen
5 Elementare Anweisungen und Bedingungen
Objektorientierte Programmierung OOP
– 5.1 Elementare Anweisungen
Programmieren mit Java
–5.1.1 Ausdrucksanweisung
–5.1.2 Leere Anweisung
–5.1.3 Blockanweisung
–5.1.4 Variablendeklaration
5 Elementare Anweisungen und Bedingungen
– 5.2 Bedingungen
–5.2.1 if-Bedingung
–5.2.2 if-else-Bedingung
–5.2.3 switch-Bedingung
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
5.1 Elementare Anweisungen
5.1 Elementare Anweisungen
5 Elementare Anweisungen und Bedingungen
In Computerprogrammen werden im
Allgemeinen schrittweise die
Anweisungen im Quelltext
abgearbeitet.
– 5.1 Elementare Anweisungen
–5.1.1 Ausdrucksanweisung
–5.1.2 Leere Anweisung
–5.1.3 Blockanweisung
Sie gewinnen im
Lotto und kassieren
10000 Franken
Vielleicht lässt sich dies am besten
mit einem Brettspiel vergleichen.
Allerdings würfelt der Computer nicht,
sondern geht Feld für Feld vor.
–5.1.4 Variablendeklaration
– 5.2 Bedingungen
–5.2.1 if-Bedingung
–5.2.2 if-else-Bedingung
OOP: 5 Elementare Anweisungen und Bedingungen
2
Sie haben sich das
Bein verstaucht,
einmal aussetzen
Sie
kaufen
ein neues
Auto für
20000
Franken.
Sie schliessen
eine Feuerversicherung
für 1000
Franken ab.
–5.2.3 switch-Bedingung
© Prof. Dr. Rolf Dornberger
22.09.2010
22.09.2010
3
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
4
5.1 Elementare Anweisungen
Das Software-Engineering kennt
dafür verschiedene
Darstellungsmöglichkeiten:
z.B. Struktogramm oder
Flussdiagramm
5.1.1 Ausdrucksanweisung
Sie gewinnen im
Lotto und kassieren
10000 Franken
Sie haben sich das
Bein verstaucht,
einmal aussetzen
Syntax
Sie
kaufen
ein neues
Auto für
20000
Franken.
Anweisung;
Eine Ausdrucksanweisung wird erzeugt, indem an die eigentliche Anweisung ein
Semikolon angehängt wird.
Anweisung 1
Anweisung 2
Anweisung 4
© Prof. Dr. Rolf Dornberger
Gültige Ausdrucksanweisungen in Java sind (wird später noch genauer erklärt):
– Zuweisung
– Inkrement und Dekrement
– Methodenaufruf
– Instanzerzeugung
Sie schliessen
eine Feuerversicherung
für 1000
Franken ab.
Anweisung 3
OOP: 5 Elementare Anweisungen und Bedingungen
Eine Ausdrucksanweisung dient dazu, eine bestimmte Anweisung innerhalb des
Java-Programms auszuführen.
22.09.2010
5
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
5.1.2 Leere Anweisungen
5.1.3 Blockanweisungen
Eine besondere Form einer Ausdrucksanweisung in Java ist die leere
Anweisung.
Ein Block ist eine Zusammenfassung von Anweisungen, die nacheinander
ausgeführt werden.
Syntax
{
Syntax
Anweisung1;
Anweisung2;
...
}
;
Alle im Block zusammengefassten Anweisungen werden wie eine einzelne
Anweisung behandelt.
Während das Semikolon als Trennzeichen das Ende einer Anweisung
signalisiert, stellt ein einzelnes Semikolon eine leere Anweisung dar.
Werden innerhalb eines Blocks Variablen deklariert, bezeichnet man diese als
lokale Variablen. D.h. diese sind dann nur innerhalb des Blocks gültig und
sichtbar. Variablen, die vor dem Block definiert wurden, sind allerdings auch im
Block bekannt.
Diese leere Anweisung hat keinerlei Effekt auf das laufende Programm. Ihre
Bedeutung liegt eventuell nur in einer Strukturierung des Quelltextes.
© Prof. Dr. Rolf Dornberger
6
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
7
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
8
5.1.4 Variablendeklaration
5.2 Bedingungen
Die Deklaration einer Variable ist in Java eine ausführbare Anweisung und darf
daher überall dort erfolgen, wo auch eine Anweisung verwendet werden darf.
5 Elementare Anweisungen und Bedingungen
– 5.1 Elementare Anweisungen
Syntax
–5.1.1 Ausdrucksanweisung
Datentyp VariablenName;
oder
Datentyp VariablenName = InitialerWert;
–5.1.2 Leere Anweisung
–5.1.3 Blockanweisung
–5.1.4 Variablendeklaration
Eine Variable ist von dem Ort ihrer Deklaration bis zum Ende des sie
umschließenden Blocks gültig und damit bekannt.
– 5.2 Bedingungen
–5.2.1 if-Bedingung
Es ist nicht erlaubt, eine bereits deklarierte Variable VariablenName in einem
tiefer gelegenen Block erneut als VariablenName zu deklarieren; weder mit dem
gleichen Typ, noch mit einem anderen Typ.
–5.2.2 if-else-Bedingung
–5.2.3 switch-Bedingung
Dahingegen ist es erlaubt, eine in einem Block deklarierte Variable
VariablenName nach Beendigung des Blocks erneut als VariablenName zu
deklarieren.
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
9
5.2 Bedingungen
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
10
5.2 Bedingungen
Anweisung 0
In Computerprogrammen
werden Verzweigungen
bzw. Alternativen mit
Bedingungen bzw.
Entscheidungen bewirkt.
An Verzweigungen können
zwei oder mehrere
Alternativen weitergehen.
Dies lässt sich z.B. auch mit
einem z.B. Struktogramm
oder Flussdiagramm
verdeutlichen.
Sie schliessen
eine Feuerversicherung
für 1000
Franken ab.
Sie stehen an einer
Weggabelung. Würfeln Sie 1, 3
oder 5, geht es nach links,
ansonsten nach rechts weiter.
Sie kaufen
einen
Fernseher
für 500 Sfr.
Anweisung 0
true
false
Anweisung 1
Anweisung 3
Anweisung 2
Anweisung 4
Bedingung
Entscheidung
Sie
überweisen
2000 Sfr.
von Konto A
auf Konto B.
wahr
falsch
Anweisung 1
Anweisung 3
Anweisung 2
Anweisung 4
Sie schliessen
eine Feuerversicherung
für 1000
Franken ab.
Bedingung
Entscheidung
Anweisung 5
Sie stehen an einer
Weggabelung. Würfeln Sie 1, 3
oder 5, geht es nach links,
ansonsten nach rechts weiter.
Sie
überweisen
2000 Sfr.
von Konto A
auf Konto B.
Sie kaufen
einen
Fernseher
für 500 Sfr.
Anweisung 5
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
11
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
12
5.2 Bedingungen
5.2.1 if-Bedingung
Verzweigungen bzw. Alternativen werden in allen Programmiersprachen durch
Bedingungen bzw. Entscheidungen bewirkt. Damit werden bestimmte
Programmteile nur beim Eintreten einer oder mehrerer vorgegebener
Bedingungen, die im Allgemeinen erst zur Laufzeit bekannt werden, ausgeführt.
Syntax
if (Ausdruck)
Anweisung;
Die if-Bedingung wertet zunächst den Booleschen Ausdruck Ausdruck aus.
Für Verzweigungen gibt es in Java die if-, if-else- und switch-Anweisung.
Bedingungen können neben Verzweigungen aber auch als bedingte Zuweisung
fungieren. Damit werden bestimmte Ausdrücke nur beim Eintreten einer oder
mehrerer vorgegebener Bedingungen, die erst zur Laufzeit bekannt werden, einer
Variablen zugewiesen.
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
Ist Ausdruck hingegen false, so wird die Anweisung nicht ausgeführt, sondern
mit der ersten Anweisung nach der gesamten if-Bedingung fortgefahren.
Anstelle der einzelnen Anweisung Anweisung kann auch eine Folge von
Anweisungen als Block angegeben werden. Dieser Block wird als Einheit
betrachtet und dann komplett ausgeführt, wenn der Ausdruck true ist.
Für diese bedingte Zuweisung gibt es in Java den Fragezeichen-Operator ? :
(Vergleiche Kapitel über Operatoren.)
© Prof. Dr. Rolf Dornberger
Wenn das Ergebnis des Ausdrucks true ist, wird die Anweisung Anweisung
ausgeführt.
13
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
5.2.2 if-else-Bedingung
5.2.2 if-else-Bedingung
Syntax
Beispielprogramm BedingungIf:
if (Ausdruck)
Anweisung1;
else
Anweisung2;
22.09.2010
14
– Anweisung nach if ist nur eine einzelne Ausdrucksanweisung.
– Anweisung nach else ist ein Block.
– Nach der if-else-Bedingung geht das Programm normal weiter.
public class BedingungIf {
public static void main (String[] args) {
Die if-else-Bedingung wertet zunächst den Booleschen Ausdruck Ausdruck aus.
Wenn das Ergebnis des Ausdrucks true ist, wird die nachfolgende Anweisung Anweisung1
ausgeführt.
int a;
Ist Ausdruck hingegen false, wird die Anweisung Anweisung2, die nach else steht,
ausgeführt.
if (a == 0)
System.out.println("Bitte mindestens 1 Parameter eingeben!");
else
{
System.out.println("Anzahl der eingegebenen Parameter: " + a);
System.out.println("1. Parameter: " + args[0]);
}
System.out.println("Ende!");
a = args.length;
Eine der beiden Anweisungen wird somit in jedem Fall ausgeführt.
Anstelle der einzelnen Anweisungen kann auch jeweils eine Folge von Anweisungen als
Block angegeben werden.
}
}
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
15
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
16
5.2.3 switch-Bedingung
Syntax
5.2.2 if-else-Bedingung
Beispielprogramm BedingungIf:
– Wird kein Parameter beim Aufruf von BedingungIf eingegeben, erscheint
folgende Ausgabe:
switch (Ausdruck)
{
case Konstante1:
Anweisung1;
case Konstante2:
Anweisung2;
...
}
Die switch-Bedingung ist eine Mehrfachverzweigung. Zunächst wird der Ausdruck
Ausdruck ausgewertet, der vom Typ byte, short, int oder char sein muss.
– Wird mindestens ein Parameter beim Aufruf von BedingungIf eingegeben,
erscheint folgende Ausgabe:
Abhängig vom Ergebnis wird dann zu demjenigen case-Label gesprungen, dessen
Konstante KonstanteX: mit dem Ergebnis des Ausdrucks Ausdruck übereinstimmt.
Ab diesem case-Label werden alle nachfolgenden Anweisungen AnweisungX,
AnweisungY, AnweisungZ... ausgeführt!
Jede Konstante eines case-Labels darf nur einmal gesetzt werden.
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
5.2.3 switch-Bedingung
Syntax mit default-Label
22.09.2010
17
switch (Ausdruck)
{
case Konstante1:
Anweisung1;
case Konstante2:
Anweisung2;
...
default:
DefaultAnweisung;
}
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
5.2.3 switch-Bedingung
Syntax mit break-Anweisung
In Ergänzung zu den case-Label kann auch noch ein default-Label eingefügt
werden. (maximal einmal!)
22.09.2010
switch (Ausdruck)
{
...
case KonstanteX:
AnweisungX; break;
case KonstanteY:
AnweisungY; break;
...
default:
DefaultAnweisung;
}
Wenn keine passende Konstante KonstanteX: vorhanden ist, zu der gesprungen
werden kann, wird die Anweisung DefaultAnweisung nach dem default-Label
ausgeführt.
Ist Ausdruck identisch mit KonstanteX:, werden ab diesem case-Label alle
nachfolgenden Anweisungen AnweisungY usw. ausgeführt, einschließlich der
DefaultAnweisung nach dem default-Label!
Ist kein default-Label und auch kein passendes case-Label vorhanden, so wird
keine der Anweisungen innerhalb der switch-Anweisung ausgeführt.
Soll nur die Anweisung AnweisungX, die direkt nach dem case-Label
KonstanteX: steht, ausgeführt werden, so ist nach dieser Anweisung die
Anweisung break; zu setzen.
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
19
© Prof. Dr. Rolf Dornberger
18
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
20
5.2.3 switch-Bedingung
5.2.3 switch-Bedingung
Beispiel:
– Je nach Anzahl der eingegebenen Parameter wird zu einem anderen
case-Label gesprungen.
Beispielprogramm BedingungSwitch:
– Wird kein Parameter beim Aufruf von BedingungSwitch eingegeben,
erscheint folgende Ausgabe:
– Damit nur die direkt nachfolgende Anweisung ausgeführt wird, folgt auf
jede dieser Anweisungen eine break- Anweisung.
public class BedingungSwitch {
public static void main (String[] args) {
int a;
a = args.length;
switch (a)
{
case 3:
System.out.println("3 Parameter: "+args[0]+args[1]+args[2]); break;
case 2:
System.out.println("2 Parameter: "+args[0]+args[1]); break;
case 1:
System.out.println("1 Parameter: "+args[0]); break;
case 0:
System.out.println("0 Parameter"); break;
default:
System.out.println("Mehr als 3 Parameter!");
}
– Werden 3 Parameter beim Aufruf von BedingungSwitch eingegeben,
erscheint folgende Ausgabe:
}
}
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
21
Lernziele
Die elementaren Anweisungen in Java (Ausdrucksanweisung, leere
Anweisung, Blockanweisung, Variablendeklaration) kennen und
einsetzen können.
Erklären können, wie Bedingungen funktionieren und wie sie zu
Verzweigungen führen.
Die Bedingungen in Java (if, if-else, switch) und ihre Varianten (case,
break) kennen und anwenden können.
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
23
© Prof. Dr. Rolf Dornberger
OOP: 5 Elementare Anweisungen und Bedingungen
22.09.2010
22
Zugehörige Unterlagen
Herunterladen