A
von Laura Lemay, Michael Morrison und Billy Barron
Dieser Anhang enthält eine Übersicht über die Sprache Java und dient als Nachschlageteil für dieses Buch.
Schlüsselwörter und Symbole sind in serifenloser Schrift angegeben. Argumente und andere zu ersetzende Teile sind kursiv abgesetzt.
Optionen stehen zwischen Klammern (abgesehen vom Array-Abschnitt). Sind mehrere Optionen verfügbar, die sich gegenseitig ausschließen, werden sie durch ein Pipe-Zeichen (|) getrennt, z.B.:
[ public | private | protected ] Typ Varname
Die folgenden Wörter sind für die Java-Sprache reserviert (die teilweise im derzeitigen Release noch nicht benutzt werden). Sie können diese Wörter nicht für Namen von Klassen, Methoden oder Variablen verwenden.
/* Das ist ein mehrzeiliger Kommentar */
// Das ist ein einzeiliger Kommentar
/** Das ist ein Javadoc-Kommentar */
Zahl |
Typ int |
Zahl [l] | [L] |
Typ long |
0xhex |
Hex Integer |
0Xhex |
Hex Integer |
0octal |
Octal Integer |
[ Zahl ].Zahl |
Typ double |
Zahl[ f | f] |
Typ float |
Zahl[ d | D] |
Typ double |
[ + | ] Zahl |
Vorzeichen |
ZahleZahl |
Exponent |
ZahlEZahl |
Exponent |
einZeichen |
Einzelnes Zeichen |
"mehrereZeichen" |
Zeichenkette |
" " |
Leere Zeichenkette |
\b |
Rückschritt |
\t |
Tabulator |
\n |
Zeilenvorschub |
\f |
Seitenvorschub |
\r |
Wagenrücklauf |
\" |
Doppeltes Anführungszeichen |
\ |
Einfaches Anführungszeichen |
\\ |
Backslash |
\uNNNN |
Unicode-Zeichenersatz (NNNN ist hex) |
true |
Boolesch |
false |
Boolesch |
[ byte | short | int | long ] Varname |
Ganzzahlen (eine auswählen) | |
[ float | double ] Varname |
Gleitpunktzahlen (einen Typ auswählen) | |
char Varname; |
Zeichen | |
boolean Varname; |
Boolesch | |
Klassenname Varname; |
Klassentypen | |
Typ Varname, Varname, Varname; |
Mehrere Variablen | |
Die folgenden Optionen sind nur für Klassen- und Instanzvariablen verfügbar und können in einer Variablendeklaration benutzt werden: | ||
[ static ] Variablendeklaration |
Klassenvariablen | |
[ final ] Variablendeklaration |
Konstanten | |
[ public | private | protected ]
|
Zugriffskontrolle |
Variable = Wert |
Zuweisung |
Variable++ |
Postfix-Inkrement |
++Variable |
Präfix-Inkrement |
Variable-- |
Postfix-Dekrement |
--Variable |
Präfix-Dekrement |
Variable += Wert |
Addieren und zuweisen |
Variable -= Wert |
Subtrahieren und zuweisen |
Variable *= Wert |
Multiplizieren und zuweisen |
Variable ÷= Wert |
Dividieren und zuweisen |
Variable %= Wert |
Modulus und zuweisen |
Variable &= Wert |
UND und zuweisen |
Variable |= Wert |
ODER und zuweisen |
Variable ^= Wert |
XOR und zuweisen |
Variable <<= Wert |
Nach links verschieben und zuweisen |
Variable >>= Wert |
Nach rechts verschieben und zuweisen |
Variable >>>= Wert |
Mit Nullen auffüllen, nach rechts verschieben und zuweisen |
Arg + Arg |
Addition |
Arg Arg |
Subtraktion |
Arg * Arg |
Multiplikation |
Arg ÷ Arg |
Division |
Arg % Arg |
Modulus |
Arg < Arg |
Kleiner als |
Arg > Arg |
Größer als |
Arg <= Arg |
Kleiner als oder gleich |
Arg >= Arg |
Größer als oder gleich |
Arg == Arg |
Gleich |
Arg != Arg |
Nicht gleich |
Arg && Arg |
Logisches UND |
Arg || Arg |
Logisches ODER |
! Arg |
Logisches NICHT |
Arg & Arg |
UND |
Arg | Arg |
ODER |
Arg ^ Arg |
XOR |
Arg << Arg |
Nach links verschieben |
Arg >> Arg |
Nach rechts verschieben |
Arg >>> Arg |
Mit Nullen auffüllen und nach rechts verschieben |
~ Arg |
Komplement |
(Typ)Ausdruck |
Umwandlung |
Arg instanceof Klasse |
Instanz von |
Test ? AnweisungFürTrue: AnweisungFürFalse |
Ternärer (if) Operator |
new Klasse(); |
Neue Instanz erstellen |
new Klasse(Arg,Arg,Arg...) |
Neue Instanz mit Parametern |
new Typ(Arg,Arg,Arg...) |
Neue Instanz einer anonymen Klasse |
primary.new Typ(Arg,Arg,Arg...) |
Neue Instanz einer anonymen Klasse |
Objekt.Variable |
Instanzvariable |
Objekt.Klassenvariable |
Klassenvariable |
Klasse.Klassenvariable |
Klassenvariable |
Objekt.Methode() |
Instanzmethode (ohne Argumente) |
Objekt.Methode(Arg,Arg,Arg...) |
Instanzmethode |
Objekt.Klassenmethode() |
Klassenmethode (ohne Argumente) |
Objekt.Klassenmethode(Arg,Arg,Arg...) |
Klassenmethode |
Klasse.Klassenmethode() |
Klassenmethode (ohne Argumente) |
Klasse.Klassenmethode(Arg,Arg,Arg...) |
Klassenmethode |
Typ Varname[] |
Array-Variable |
Typ[] Varname |
Array-Variable |
new Typ[AnzElemente] |
Neues Array-Objekt |
new Typ[] {Initialisierung} |
Neues anonymes Array-Objekt |
Array[Index] |
Elementzugriff |
Array.length |
Array-Länge |
if ( Test ) Block |
Bedingung |
if ( Test ) Block
|
Bedingung mit else |
switch (Test) {
|
switch (nur für int- und char-Typen) |
for (Initialisierung; Test; Veränderung ) |
Block mit for-Schleife |
while ( Test ) Block |
while-Schleife |
do Block
|
do-Schleife |
break [ Marke ] |
Bricht eine Schleife oder switch-Anweisung ab |
continue [ Marke ] |
Setzt die Schleife mit der nächsten Iteration fort |
Marke: |
Beschriftete Schleife |
class Klassenname Block |
Einfache Klassendefinition | |
Die folgenden optionalen Modifier können in die Klassendefinition eingefügt werden: | ||
[ final ] class Klassenname Block |
Klasse kann nicht abgeleitet werden | |
[ abstract ] class Klassenname Block |
Klasse kann nicht instanziert werden | |
[ public ] class Klassenname Block |
Zugriff außerhalb des Pakets möglich | |
class Klassenname [ extends
|
Superklasse ableiten | |
class Klassenname [ implements Schnittstellen ] Block |
Eine oder mehrere Schnittstellen implementieren |
Die Basismethode sieht wie folgt aus, wobei Rückgabetyp ein Typname, ein Klassenname oder void ist:
import Paket.Klassenname |
Importiert eine spezifische Klasse |
import Paket.* |
Importiert alle Klassen des Pakets |
package Paketname |
Die Klassen dieser Datei gehören zu diesem Paket |
interface Schnittstellenname [ extends AndereSchnittstelle ] Block |
Erweitert eine bestehende Schnittstelle |
[ public ] interface Schnittstellenname Block |
Erzeugt eine öffentliche Schnittstelle |
[ abstract ] interface Schnittstellenname Block |
Erzeugt eine abstrakte Schnittstelle |
synchronized ( Objekt ) Block |
Schützt das Objekt vor dem gleichzeitigen Zugriff durch mehrere Threads |
try Block |
Geschützte Anweisungen |
catch ( Exception ) Block |
Wird im Fall von Exception ausgeführt |
[ finally Block ] |
Wird immer ausgeführt |
try Block [ catch ( Exception ) Block ] finally Block |
Wie im vorherigen Beispiel (kann wahlweise catch oder finally, jedoch nicht beides benutzen) |
(c) 1997 SAMS