Java Tutorium | |||||||||||||||||
|
|
[if/else/switch]
KontrollstrukturenIf - AnweisungDer if-Befehl wird in Programmen immer dann angewandt, wenn auf eine Bedingung unterschiedlich reagiert werden soll. Dabei wird innerhalb einer Bedingung meist kontrolliert, ob eine Variabel größer, kleiner oder gleich einem bestimmten Wert ist.
if (Bedingung) {
Anweisung;
}
Beispiel
// Dieses Programm fragt ab, ob eine Variable größer als 7 ist....
class VariablenTest {
public static void main(String[] args) {
int zahl;
zahl = 5;
if (zahl < 7)
System.out.println("Die Zahl ist kleiner als 7!");
}
}
/* Dieses Programm berechnet die Anzahl der Studenten in den
* einzelnen Kursen Programmieren für Geistes- und
* Sozialwissenschaftler
*/
class KursTeilnehmer {
public static void main (String [] args) {
/* Deklaration und Initalisierung der Variablen */
// gibt Anzahl der Studenten im Raum an
int anzahlStudis = 51;
// Anzahl der Studenten im Dienstags-Kurs
int kursDienstag = 0;
// Anzahl der Studenten im Mittwochs-Kurs
int kursMittwoch = 0;
// Berechnung und Festlegung der Variablen
// kurs-Dienstag und Mittwoch
System.out.println("Dieses Programm berechnet die"+
"Anzahl der Studenten in den einzelnen Kursen...");
if (anzahlStudis > 35) {
System.out.println("Es gibt zuviele Studenten für nur"+
"einen Kurs");
kursMittwoch = 35;
kursDienstag = anzahlStudis - kursMittwoch;
}
System.out.println("Im Dienstagskurs sind "+kursDienstag+
" Studenten!");
System.out.println("Im Mittwochskurs sind "+kursMittwoch+
" Studenten!");
}
}
Wie man in den obigen Beispielen sehen kann, werden in den Zeilen mit der If-Abfrage die Bedingungen immer in einer runden Klammer geschrieben. Diese Bedingungen können immer nur wahr oder falsch sein. Wenn eine Bedinung wahr ist, dann wird die Anweisung hinter der Bedingung ausgeführt. Wenn Sie falsch ist, dann wird sie nicht ausgeführt. Die Bedingung kann auch nur eine boolesche Variable darstellen. Da boolesche Variable per definitionem wahr oder falsch sein können reicht es aus, nur die Variable in Klammern zu setzen. Beispiel:
class TestBoolean {
public static void main(String[] args) {
boolean tutorIstRasiert;
tutorIstRasiert = false;
if (tutorIstRasiert) {
System.out.println("Der Tutor sollte sich"+
"lieber nicht rasieren");
System.out.println("Ohne Bart sieht er fürchterlich"+
"aus...");
}
}
}
If - Anweisung mit ElseIn vielen Fällen ist es praktisch, nicht nur Anweisungen für den Fall anzugeben, dass die Bedinung wahr ist, sondern auch für den Fall dass sie falsch ist. Hierfür gilt folgende Syntax:
if (Bedingung) {
Anweisung;
}
else {
Anweisung;
}
In der Praxis sieht das wie folgt aus:
class TestBoolean2 {
public static void main(String[] args) {
boolean tutorIstRasiert;
tutorIstRasiert = false;
if (tutorIstRasiert) {
System.out.println("Der Tutor sollte sich lieber"+
"nicht rasieren");
System.out.println("Ohne Bart sieht er fürchterlich"+
"aus...");
}
else {
System.out.println("Der Tutor sollte sich endlich mal"+
"wieder rasieren.");
System.out.println("Dann sieht er besser aus");
}
}
}
Switch - AnweisungDie SWITCH-Anweisung ist eine Erweiterung der IF-Anweisung, wenn die zu überprüfende Variable mehrere Werte annehmen kann und für jeden einzelnen Wert eine bestimmte Anweisung ausgeführt werden muss. Die Syntax lautet:
switch (variable) {
case wert1: Anweisung1; break;
case wert2: Anweisung2; break;
case wert3: Anweisung3; break;
(..)
default: Anweisung4; break;
}
Hier gibt variable die zu überprüfende Variable an. Für wert1-wertx werden die unterschiedlichen Werte angegeben, die die Variable annehmen kann. Danach wird die Anweisung(en) angegeben. Hinter jeder Anweisung muss ein break; zu stehen, wenn nur die direkt dahinter stehende Anweisung ausgeführt werden soll. Steht kein break; wird jeder weitere case behandelt, bis ein break;-Befehl folgt. default steht für alle Werte, die nicht einzeln als case behandelt wurden. Beispiel:
class Anwesenheit {
public static void main (String[] args) {
int anzahlStudis;
anzahlStudis = 9;
switch (anzahlStudis){
case 1:
case 2:
case 3:
case 4:
case 5: System.out.println("Was nur so wenig?"); break;
case 6:
case 7:
case 8:
case 9:
case 10:
case 11: System.out.println("Immer noch etwas wenig"); break;
default: System.out.println("Ok es sind genug!"); break;
}
}
}
Für die definierte Variable "anzahlStudis" können verschiedene Werte angenommen werden. Für jeden einzelen Wert(bereich) gibt es eine besondere Ausgabe. Wenn "anzahlStudis" kleiner als 6 ist wird "Was nur so wenig?" ausgegeben - für Werte zwischen 6 und 11 wird "Immer noch etwas wenig" ausgegeben und für alle anderen Werte ist der Programmierer zufrieden - "Ok es sind genug!". AufgabenP.S. Wer versucht ist, sich nicht den Kopf zu zerbrechen und einfach die Beispiele kopiert lernt nix dabei. Die Beispiele sind nur dazu da, um am Ende eines erfolgreichen Programmes nachzuschauen, wie jemand anderes das Problem löst. Wer selbst nicht weiterkommt soll mich fragen, oder den Nachbarn!
|
externe Verweise |
|||||||||||||||
| nach oben | Über mich | Java | HTML | Diverses | Links | ||||||||||||||||