Unterschiede

Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.

start:info:11if:05_ablaufsteuerung 07.11.2008 08:21 start:info:11if:05_ablaufsteuerung 13.04.2018 08:41 aktuell
Zeile 41: Zeile 41:
</code> </code>
-Jetzt könnte man fragen: Wie entscheidet Java diesen Prozess? Wenn die Bedingung in den runden Klamern nach dem ''if'' erfüllt wird, dann wird der Block ''{ ... }'' – direkt unter dem ''if'' – ausgeführt, ansonsten der Block ''{ ... }'' nach dem ''else''. Wenn wir eine Struktur wie bei dem ersten Beispiel haben – d.h. kein ''else'' Block – wird die Ausführung des Programms nach der schließenden geschweiften ''}'' fortgesetzt. Dazu können wir den unten stehenden Code näher anschauen:+Jetzt könnte man fragen: Wie entscheidet Java diesen Prozess? Wenn die Bedingung in den runden Klammern nach dem ''if'' erfüllt wird, dann wird der Block ''{ ... }'' – direkt unter dem ''if'' – ausgeführt, ansonsten der Block ''{ ... }'' nach dem ''else''. Wenn wir eine Struktur wie bei dem ersten Beispiel haben – d.h. kein ''else'' Block – wird die Ausführung des Programms nach der schließenden geschweiften ''}'' fortgesetzt. Dazu können wir den unten stehenden Code näher anschauen:
<code java> <code java>
Zeile 52: Zeile 52:
Wenn die Variable ''counter'' einen Wert kleiner 10 hat, werden die Befehle zwischen den geschweiften Klammer ''{'' und''}'' ausgeführt. Wenn der Wert größer oder gleich 10 ist, wird dieser Block übersprungen und nach dem ''}'' fortgesetzt. Das bedeutet, dass dann der Befehl ''System.out.println("Fertig");'' ausgeführt wird.\\ Wenn die Variable ''counter'' einen Wert kleiner 10 hat, werden die Befehle zwischen den geschweiften Klammer ''{'' und''}'' ausgeführt. Wenn der Wert größer oder gleich 10 ist, wird dieser Block übersprungen und nach dem ''}'' fortgesetzt. Das bedeutet, dass dann der Befehl ''System.out.println("Fertig");'' ausgeführt wird.\\
-Aber nicht missverstehen: Selbst wenn die Variable ''counter'' einen Wert kleiner als 10 hat, wird – nachdem die Befehle im Block solange ausgeführt wurden, bis der Wert 10 erreicht hat - im Programm fortgesetzt, sprich: ''System.out.println("Fertig");'' wird ausgeführt. Und wie sieht's aus, wenn man ein ''else''-Block hinzufügt? So wie oben, aber (natürlich) mit kleinen Unterschieden. Guck dir dazu die Beispiele an und führe sie aus. Dazu kannst du verschieden Zahlen eingeben und sehen, wie's funktioniert.+Aber nicht missverstehen: Selbst wenn die Variable ''counter'' einen Wert kleiner als 10 hat, wird – nachdem die Befehle im Block solange ausgeführt wurden, bis der Wert 10 erreicht hat - im Programm fortgesetzt, sprich: ''System.out.println("Fertig");'' wird ausgeführt. Und wie sieht's aus, wenn man einen ''else''-Block hinzufügt? So wie oben, aber (natürlich) mit kleinen Unterschieden. Guck dir dazu die Beispiele an und führe sie aus. Dazu kannst du verschieden Zahlen eingeben und sehen, wie's funktioniert.
<code java> <code java>
Zeile 323: Zeile 323:
FIXME\\ FIXME\\
 +
 +<html>
 +<!--
 +<code Java>
 +import Prog1Tools.IOTools;
 +
 +public class If11 {
 +
 +
 +    public static void main(String args[]) {
 +        int note = IOTools.readInteger("Gib eine Note (1-6) ein: ");
 +
 +        switch (note) {
 +            case 1:
 +                System.out.println("sehr gut");
 +                break;
 +            case 2:
 +                System.out.println("gut");
 +                break;
 +            case 3:
 +                System.out.println("befriedigend");
 +                break;
 +            case 4:
 +                System.out.println("ausreichend");
 +                break;
 +            case 5:
 +                System.out.println("mangelhaft");
 +                break;
 +            case 6:
 +                System.out.println("ungenügend");
 +                break;
 +            default:
 +                System.out.println("ungültig.");
 +                break;
 +        }
 +    }
 +}
 +</code>
 +-->
 +</html>
Praktisch gibt es in der Programmierung öfters Situationen oder Probleme, wo man eine Vielzahl von verschachtelten ''if-else''-Anweisungen brauchen würde (s.o.) und ein Programm kann dadurch schnell sehr unübersichtlich werden und unnötig lang.\\ Praktisch gibt es in der Programmierung öfters Situationen oder Probleme, wo man eine Vielzahl von verschachtelten ''if-else''-Anweisungen brauchen würde (s.o.) und ein Programm kann dadurch schnell sehr unübersichtlich werden und unnötig lang.\\
Zeile 356: Zeile 396:
  * Der Ausdruck ''ausdruck'' wird vollständig ausgewertet.   * Der Ausdruck ''ausdruck'' wird vollständig ausgewertet.
  * Wir eine Übereinstimmung mit ''case ausdruck_i'' gefunden, dann wird bei dieser Anweisung die Abarbeitung fortgesetzt.   * Wir eine Übereinstimmung mit ''case ausdruck_i'' gefunden, dann wird bei dieser Anweisung die Abarbeitung fortgesetzt.
 +  * Achtung! Es werden bei Zutreffen eines case-Ausdrucks alle folgenden Anweisungen der restlichen case-Ausdrücke ebenfalls ausgeführt. Sollte dies nicht erwünscht sein, muss man den switch-case-Block mit der ''break''-Anweisung unterbrechen (siehe letzter Punkt).
  * Wird keine Übereinstimmung gefunden, wird bei ''default:'' fortgefahren.   * Wird keine Übereinstimmung gefunden, wird bei ''default:'' fortgefahren.
  * Gibt es kein ''default:'', wird der Anweisungsteil der ''switch''-Anweisung ignoriert.   * Gibt es kein ''default:'', wird der Anweisungsteil der ''switch''-Anweisung ignoriert.
Zeile 369: Zeile 410:
===== Aufgabe 2 ===== ===== Aufgabe 2 =====
-Schreibe nun das gleiche Programm nochmal((kommt an die Stelle bon FIXME ;-) )), benutze dieses Mal aber die ''switch-case''-Ablaufsteuerung.\\+Schreibe nun das gleiche Programm nochmal((kommt an die Stelle von FIXME ([[#die_switchcase_ablaufsteuerung|s.o.]]) ;-) )), benutze dieses Mal aber die ''switch-case''-Ablaufsteuerung.\\
Zeile 409: Zeile 450:
**6.** Schreib ein Programm das den BMI(([[wpde>Body-Mass-Index|wat'n ditte?]])) ausrechnet. **6.** Schreib ein Programm das den BMI(([[wpde>Body-Mass-Index|wat'n ditte?]])) ausrechnet.
 +<html>
 +<!--
====== Lösung ====== ====== Lösung ======
zu 5: zu 5:
Zeile 497: Zeile 540:
} }
</code> </code>
 +--> 
 +</html>
start/info/11if/05_ablaufsteuerung.1226042502.txt.gz · Zuletzt geändert: 23.10.2013 10:12 (Externe Bearbeitung)
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0