Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Javakurs2006/Java Kurzreferenz: Unterschied zwischen den Versionen

(while-Schleife)
(switch-case)
Zeile 151: Zeile 151:
 
  }
 
  }
  
= switch-case =  
+
= switch-case =
 +
* Wenn man verschiedene Werte abfangen möchte, wie zum Beispiel verschiedene Zahlen (bei einem Menü). Gehen wir mal davon aus, daß wir drei Menüeinträge haben:
 +
# ''1''
 +
# ''2''
 +
# ''0''
 +
''1'' gibt die Zahl '''1''', ''2'' gibt die Zahl '''2''' aus und ''0'' beendet das Programm, dann ist key zum Beispiel ein '''int''' und '''value''' würde den einzelnen Menüpunkten entsprechen. Das ''break'' bewirkt ein raussprigen aus dem switch-Konstrukt. Würde man das ''break'' weglassen, würden sämtliche Anweisungen die direkt darunter folgen, ausgeführt werden.
 +
 
 +
switch (key) {
 +
    case value: {
 +
      ''Anweisungen;''
 +
      break;
 +
    }
 +
    default: {
 +
      ''Anweisungen;''
 +
      break;
 +
    }
 +
}
  
 
= Grundgerüst =
 
= Grundgerüst =

Version vom 4. April 2006, 23:48 Uhr

Kleine Referenz für Java speziell für den Javakurs der Freitagsrunde

Kommentare

Ein wichtiges Instrumentarium in Java (natürlich auch in anderen Sprachen, wie z.B. OPAL [-- Kommantar]) sind Kommentare. In Java gibt es zwei Arten von Kommentaren:

  • Kommentare über eine Zeile
//dies ist ein Kommentar
  • Kommentare über mehrere Zeilen
/* dies
 sind
 mehrere
 Kommentare
 über
 mehrere
 Zeilen
*/


Datentypen (Variablen)

Typ Speicherbedarf Bereich
int 4 Byte -2.147.483.648 bis 2.147.483.647
short 2 Byte -32.768 bis 32.787
long 8 Byte -9.223.372.036.854.775.808L bis 9.223.372.036.854.775.807L
byte 1 Byte -128 bis 127
float 4 Byte +/-3,40282347E+38F
double 8 Byte +/-1,79769313486231570E+308

Boolsche Operatoren

Operator Beispiel Ergebnis des Beispiels
==

(gleich)

4 == 9 false
!=

(ungleich)

4 != 8 true
&&

(logisches UND)

false && true false, es wird erst der linke Ausdruck ausgewertet. Wenn die Auswertung false ergibt, wird der rechte Ausdruck nicht mehr geprüft, da das Ergebnis nicht mehr true werden kann.
||

(logisches ODER)

true || false true, es wird erst der linke Ausdruck ausgewertet. Wenn die Auswertung true ergibt, wird der rechte Ausdruck nicht mehr geprüft, da das Ergebnis nicht mehr false werden kann.
<, <=, >, >=, <> 1 < 3 (hier exempalrisch nur eins) true

Bitoperatoren

Operator Beschreibung Erklärung
& AND Wie das logische UND, jedoch werden auf jeden Fall beide Seiten ausgewertet.
| OR Wie das logische ODER, jedoch werden auf jeden Fall beide Seiten ausgewertet.
^ XOR XOR halt.
~ NOT Negation des Wertes.


Konstanten

Zuweisungen und Initialisierungen

if-Anweisung

  • Die einfachste Variante:
if (condition) {
   Anweisungen;	
}
  • Zusätlich hat diese Variante einen alternativen Anweisungsblock. Wenn condition nicht erfüllt gehe in den else-Zweig und führe dort die Anweisungen aus.
if (condition) {
   Anweisungen;	
} else {
   Anweisungen;
}
  • Natürlich lassen sich beide Varianten schachteln. Man kann also auf zwei Bedingungen prüfen und bei nicht Eintreffen in den else-Zweig gehen.
if (condition) {
   Anweisungen;	
} else if (condition) {
   Anweisungen;			
} else {
   Anweisungen;		
}

for-Schleife

  • Um über Array's zu wandern bietet sich die for-Schleife an. Als erstes in der Klammer muß eine Laufvariable deklariert und mit einem Wert initialisiert werden (hier int i= 0). Danach muß eine Bedingung erfüllen, um festzulegen bis wann die Schleife ausgeführt wird (i < 10). Als letztes muß die Laufvariable verändert werden, so daß irgendwann der Abbruch eintritt (i++).
for (int i = 0; i < 10; i++) {

   Anweisungen;

}

while-Schleife

  • Die while-Schleife wird meistens dafür benutzt, Anweisungen auszuführen bis irgendetwas eintrifft (EOF -End Of File). Für Array's sollte man die for-Schleife nehmen. Die while-Schleife läßt isch auch als for-Schleife schreiben.
while (condition) {
    Anweisungen;
}

switch-case

  • Wenn man verschiedene Werte abfangen möchte, wie zum Beispiel verschiedene Zahlen (bei einem Menü). Gehen wir mal davon aus, daß wir drei Menüeinträge haben:
  1. 1
  2. 2
  3. 0

1 gibt die Zahl 1, 2 gibt die Zahl 2 aus und 0 beendet das Programm, dann ist key zum Beispiel ein int und value würde den einzelnen Menüpunkten entsprechen. Das break bewirkt ein raussprigen aus dem switch-Konstrukt. Würde man das break weglassen, würden sämtliche Anweisungen die direkt darunter folgen, ausgeführt werden.

switch (key) {
   case value: {
      Anweisungen;
      break;
   }
   default: {
      Anweisungen;
      break;
   }
}

Grundgerüst

Da der Programmierer vom Kopieren lebt, schreibt er einmal eine Schablone und benutzt sie immer wieder, frei nach dem Motto: Man muß das Rad nicht zweimal erfinden.


So sieht zum Beispiel ein simples Javaprogramm ohne Handlung aus:


public class Klassenname {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Anweisungen

	}
}

Erläuterungen: @param ist für das Dokumentationssystem Javadoc, wird im Javakurs vielleicht angesprochen, sollte aber erstmal zweitrangig sein. Dennoch ist Dokumentation wichtiger als der eigentliche Code und deshalb hier erwähnt.

Funktion (Methoden)

Ausgabe