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

< Javakurs2006
Version vom 5. April 2006, 06:30 Uhr von 130.149.17.40 (Diskussion) (while-Schleife: Korrekturen)

Hier befindet sich eine kleine Referenz für Java speziell für den Javakurs der Freitagsrunde.

Kommentare

Ein Kommentar ist ein Abschnitt des Java-Codes, der vom Java-Compiler ignoriert wird. Man kann in ein Kommentar also schreiben was man will. Kommentare sind nützlich, um den Quellcode zu dokumentieren.

In Java gibt es zwei Arten von Kommentaren:

Kommentare über eine Zeile

// Diese ganze Zeile wird vom Compiler ignoriert.
int x= 5;  // Dieser  Kommentar beginnt mit »//«.  Alles davor wird vom Compiler nicht ignoriert.

Kommentare über mehrere Zeilen

/* Dieser 
   Kommentar
   erstreckt 
   sich 
   über
   mehrere
   Zeilen.
*/

Zum Vergleich: in Opal werden Kommentare mit -- eingeführt.

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

  • In Java werden Konstanten mit dem Schlüsselwort final bezeichnet. In Java gibt es die Konvention Konstanten komplett groß zu schreiben:
final double PI = 3.14;

Zuweisungen und Initialisierungen

Wenn man eine Variable erstellt und sie mit Werten füllen will, wird man auf folgende Syntax stoßen:

Datentyp Variablenname = Initialisierungswert;

Es gibt zwei Möglichkeiten diese Aktion durchzuführen:

  • lange Variante:
int zahl;
zahl = 23;
  • kurze Variante:
int zahl = 23;

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 (z.B. EOF -End Of File). Für Arrays sollte man die for-Schleife nehmen. Die while-Schleife lässt sich 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)

In Java programmiert man meistens Objektorientiert, es sei denn man belegt Info2. Funktionen heißen bei Java Methoden und Methoden sind Objekten zugeordnet, es sei denn man programmiert nicht Objektorientiert. Eine Methode hat immer folgenden Aufbau:

Spezialoption Veröffentlichungsart Rückgabewert Funktionsname ( Parametertyp Parametername ) {

   Methodenrumpf_mit_Anweisungen;

}

Spezialoption:

  • static
  • final

Veröffentlichungsart:

  • public
  • protected
  • private

Rückgabewert:

  • sämtliche oben aufgeführte Datentypen
  • eigene Datentypen

Funktionsname:

  • einen für die Funktion bezeichnenden Namen aus Buchstaben, Zahlen und dem Underscore ( _ )
  • darf nicht mit eine Zahl beginnen

Parametertyp:

  • wie Rückgabewert, siehe oben

Parametername:

  • wie Funtionsname, siehe oben

Ausgabe

  • Um Fehler finden zu können oder Ausgaben auf der Konsole zu machen, gibt es in Java print-Funktionen:
System.out.print("Irgend ein String.");

Gibt Irgend ein String. auf der Konsole aus ohne einen Zeilenumbruch.

System.out.println("Noch ein String.");

Gibt Noch ein String. auf der Konsole aus allerdings diesmal mit einem Zeilenumbruch.