4.2 Verzweigung (Selektion, Auswahl)

Werbung
Kontrollstrukturen
4.2
Sequenz
? Verzweigung (Selektion, Auswahl)
Schleife (Repetition, Wiederholung)
4.2 Verzweigung (Selektion, Auswahl)
4.2 Verzweigung (Selektion, Auswahl)
4.2.1 Einfache Verzweigung
Beispiel:
Wenn der Umsatz eines Mitarbeiters größer als € 1000,-- ist, dann wird ihm ein Bonus von € 50,-- gewährt.
Die einfache Verzweigung entspricht der umgangssprachlichen Formulierung "Wenn..dann..".
(vgl. "WENN-Funktion" in EXCEL)
Struktogramm:
Notizen:
Java für Berufliches Gymnasium und Höhere Berufsfachschule. Band 1: Datenstrukturen und Algorithmen
© datadidact 2006
58
Kontrollstrukturen
4.2
Sequenz
? Verzweigung (Selektion, Auswahl)
Schleife (Repetition, Wiederholung)
Java-Programm:
[01] import java.io.*;
[02] class UmsatzBonus1
[03] {
[04] public static void main(String args[]) throws IOException
[05] {
[06]
double umsatz,bonus=0;
[07]
BufferedReader buf=new BufferReader(new Inp utStreamReader(System.in));
[08]
[09]
System.out.print("Gib den Mitarbeiterumsatz ein: ");
[10]
umsatz=Double.parseDouble(buf.readLine());
[11]
[12]
if(umsatz>1000)
[13]
{
[14]
bonus=50;
[15]
}
[16]
[17]
System.out.println("Umsatz: "+umsatz);
[18]
System.out.println("Bonus : "+bonus);
[19] }
[20] }
Syntax:
Wenn mehrere Anweisungen ("Anweisungsblock") auszuführen sind:
if(<Bedingung>)
{
<Anweisung1>;
<Anweisung2>;
...
}
Wenn nur eine Anweisung auszuführen ist:
if(<Bedingung>) <Anweisung1>;
Notizen:
59
Java für Berufliches Gymnasium und Höhere Berufsfachschule. Band 1: Datenstrukturen und Algorithmen
© datadidact 2006
Kontrollstrukturen
Sequenz
? Verzweigung (Selektion, Auswahl)
Schleife (Repetition, Wiederholung)
4.2
?? <Bedingung> muss ein Boolscher Ausruck sein ? Ausdruck, der einen Wert vom Typ
boolean (true oder false) zurückliefert
??
hinter if() kommt kein ' ; '!
??
Achtung bei (Zahlen-)vergleich: if(a==5)... ? ' == ' !
Weitere Beispiele:
//größer gleich
if(x>=3)
//kleiner gleich
if(y<=-8)
//ist gleich
if(anz==10)
//ist ungleich
if(anz<>10)
//mit boolscher Variablen
boolean istPrimzahl;
istPrimzahl=true;
if(istPrimzahl)
//mit logischer Verknüpfung
//Verneinung
if(!(eingabe.equals("Ja")))
//UND-Verknüpfung
if(umsatz>1000 && umsatz<5000)
//ODER-Verknüpfung
if(umsatz>1000 || istGuterMitarbeiter)
Notizen:
Java für Berufliches Gymnasium und Höhere Berufsfachschule. Band 1: Datenstrukturen und Algorithmen
© datadidact 2006
60
Kontrollstrukturen
4.2
Sequenz
? Verzweigung (Selektion, Auswahl)
Schleife (Repetition, Wiederholung)
4.2.2 Zweifache Verzweigung
Beispiel:
Wenn der Umsatz eines Mitarbeiters größer als € 1000,-- ist, dann wird ihm ein Bonus von € 50,-- gewährt,
sonst € 20,--.
Die zweifache Verzweigung entspricht der umgangssprachlichen Formulierung "Wenn..dann..sonst...".
(vgl. "WENN-Funktion" in EXCEL)
Struktogramm:
Notizen:
61
Java für Berufliches Gymnasium und Höhere Berufsfachschule. Band 1: Datenstrukturen und Algorithmen
© datadidact 2006
Kontrollstrukturen
4.2
Sequenz
? Verzweigung (Selektion, Auswahl)
Schleife (Repetition, Wiederholung)
Java-Programm:
[01] import java.io.*;
[02] class UmsatzBonus2
[03] {
[04] public static void main(String args[]) throws IOException
[05] {
[06]
double umsatz,bonus=0;
[07]
BufferedReader buf=new BufferReader(new InputStreamReader(System.in));
[08]
[09]
System.out.print("Gib den Mitarbeiterumsatz ein: ");
[10]
umsatz=Double.parseDouble(buf.readLine());
[11]
[12]
if(umsatz>1000)
[13]
{
[14]
bonus=50;
[15]
}
[16]
else
[17]
{
[18]
bonus=20;
[19]
}
[20]
[21]
System.out.println("Umsatz: "+umsatz);
[22]
System.out.println("Bonus : "+bonus);
[23] }
[24] }
Notizen:
Java für Berufliches Gymnasium und Höhere Berufsfachschule. Band 1: Datenstrukturen und Algorithmen
© datadidact 2006
62
Kontrollstrukturen
Sequenz
? Verzweigung (Selektion, Auswahl)
Schleife (Repetition, Wiederholung)
4.2
Syntax:
Wenn mehrere Anweisungen auszuführen sind:
if(<Bedingung>)
{
<WennAnweisung1>;
<WennAnweisung2>;
...
}
else
{
<SonstAnweisung1>;
<SonstAnweisung2>;
...
}
Wenn nur eine Anweisung auszuführen ist:
if(<Bedingung>) <WennAnweisung1>;
else
<SonstAnweisung1>;
??
hinter else kommt kein ' ; '!
Notizen:
63
Java für Berufliches Gymnasium und Höhere Berufsfachschule. Band 1: Datenstrukturen und Algorithmen
© datadidact 2006
Kontrollstrukturen
4.2
Sequenz
? Verzweigung (Selektion, Auswahl)
Schleife (Repetition, Wiederholung)
4.2.3 Mehrfache Verzweigung, verschachtelte Verzweigung
Beispiel:
Nach Eingabe der Risikostufe (1 - 5) soll ein Programm zu einer entsprechenden Geldanlage raten.
Struktogramm:
Notizen:
Java für Berufliches Gymnasium und Höhere Berufsfachschule. Band 1: Datenstrukturen und Algorithmen
© datadidact 2006
64
Herunterladen