Javakurs2006/Java Kurzreferenz
Hier befindet sich eine kleine Referenz für Java speziell für den Javakurs der Freitagsrunde.
Inhaltsverzeichnis
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.
Javadoc-Kommentare
Um Programme zu dokumentieren gibt es in Java ein Tool: Javadoc. Damit lassen sich HTML-Seiten generieren, die informationen über eure Methoden und Klassen beinhalten.
/** Dies ist ein Javadoc-Kommentar und erscheint später in eurer Dokumentation. Was es für Optionen gibt, fragt eure Tutoren ;) */
Datentypen (Variablen)
Typ | Speicherbedarf | Bereich |
---|---|---|
void | 0 Byte | keiner |
boolean | 1 Byte | true, false |
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
- 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
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.