vorheriges KapitelInhaltsverzeichnisStichwortverzeichnisFeedbacknächstes Kapitel


Tag A


Java- Sprachübersicht

Dieser Anhang enthält eine Übersicht über die Sprache Java und dient als Nachschlageteil für dieses Buch.


Das ist keine Übersicht der Syntax oder der Techniken der Sprache. Vielmehr dient der Teil zum Nachschlagen von Informationen zu Themen, die Sie in den Lektionen dieses Buches gelernt haben. Wenn Sie eine technische Beschreibung der Sprache benötigen, besuchen Sie am besten die JavaSoft-Website (http://java.sun.com/docs) und laden die Spezifikation herunter. Diese enthält auch eine vollständige Beschreibung der Syntax.

Schlüsselwörter und Symbole sind in Schreibmaschinenschrift angegeben. Argumente und andere zu ersetzende Teile sind in kursiver Schreibmaschinenschrift 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

Reservierte Wörter

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.

abstract
do
import
public
try
boolean
double
instanceof
return
void
break
else
int
short
volatile
byte
extends
interface
static
while
case
final
long
super

catch
finally
native
switch

char
float
new
synchronized

class
for
null
this

const
goto
package
throw

continue
if
private
throws

default
implements
protected
transient

Die Schlüsselwörter true, false und null sind ebenfalls reserviert - allerdings für die Verwendung als Literale.

Kommentare

/* Das ist ein mehrzeiliger Kommentar - der Kommentartext 
kann mehrere Zeilen umfassen*/
// Das ist ein einzeiliger Kommentar
/** Das ist ein Javadoc-Kommentar */

Literale

Zahl

Typ int

Zahl [l] | [L]

Typ long

0xhex

Hex Integer

0Xhex

Hex Integer

0octal

Oktal 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

Variablendeklaration

[ byte | short | int | long ] Varname

Ganzzahlen (einen Typ 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 ]
Variablendeklaration

Zugriffskontrolle

Wertzuweisung an Variablen

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

Modulo und Zuweisen

Variable &= Wert

UND und Zuweisen

Variable |= Wert

ODER und Zuweisen

Variable ^= Wert

XOR und Zuweisen

Variable <<= Wert

Links-Shift und Zuweisen

Variable >>= Wert

Rechts-Shift und Zuweisen

Variable >>>= Wert

Mit Nullen füllender Rechts-Shift und zuweisen

Operatoren

Arg + Arg

Addition

Arg - Arg

Subtraktion

Arg * Arg

Multiplikation

Arg / Arg

Division

Arg % Arg

Modulo

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

Links-Shift

Arg >> Arg

Rechts-Shift

Arg >>> Arg

Mit Nullen füllender Rechts-Shift

~ Arg

Komplement

(Typ)Ausdruck

Umwandlung (Casting)

Arg instanceof Klasse

Instanz von

Test ? AnweisungFürTrue: AnweisungFürFalse

Ternärer (if)-Operator

Objekte

new Klasse();

Neue Instanz erstellen

new Klasse(Arg,Arg,Arg...)

Neue Instanz mit Argumenten

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 (mit Argumenten)

Objekt.Klassenmethode()

Klassenmethode (ohne Argumente)

Objekt.Klassenmethode(Arg,Arg,Arg...)

Klassenmethode (mit Argumenten)

Klasse.Klassenmethode()

Klassenmethode (ohne Argumente)

Klasse.Klassenmethode(Arg,Arg,Arg...)

Klassenmethode (mit Argumenten)

Arrays


Die Klammern in diesem Abschnitt sind Teil des Arrays bzw. der Zugriffsanweisungen und stehen nicht für Optionen wie in den vorherigen Abschnitten.

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

Schleifen und Bedingungen

if ( Test ) Block

Bedingung

if ( Test ) Block
else Block

Bedingung mit else

switch (Test) {
case Wert : Anweisungen
case Wert : Anweisungen
...
default : Anweisungen
}

switch (nur für int- und char-Typen)

for (Initialisierung; Test; Veränderung )

Block mit for-Schleife

while ( Test ) Block

while-Schleife

do Block
while (Test)

do-Schleife

break [ Marke ]

Bricht eine Schleife oder switch-Anweisung ab

continue [ Marke ]

Setzt die Schleife mit der nächsten Iteration fort

Marke:

Benannte Schleife

Klassendefinitionen

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 ] Block

Superklasse ableiten

class Klassenname [ implements Schnittstellen ] Block

Eine oder mehrere Schnittstellen implementieren

Methoden- und Konstruktor-Definitionen

Die Basismethode sieht wie folgt aus, wobei Rückgabetyp ein Typname, ein Klassenname oder void ist:

Rückgabetyp Methodenname() Block

Basismethode

Rückgabetyp Methodenname(Parameter, Parameter, ...) Block

Methode mit Parametern

Methodenparameter sehen so aus:

Typ Parametername

Methodenvariationen können eines der folgenden optionalen Schlüsselwörter enthalten:

[ abstract ] Rückgabetyp MethodenName() Block

Abstrakte Methode

[ static ] Rückgabetyp MethodenName() Block

Klassenmethode

[ native ] Rückgabetyp MethodenName() Block

Native Methode

[ final ] Rückgabetyp MethodenName() Block

final-Methode (Methode kann nicht überschrieben werden)

[ synchronized ] Rückgabetyp MethodenName() Block

Thread-Sperre vor Ausführung

[ public | private | protected ] Rückgabetyp Methodenname()

Zugriffskontrolle

Konstruktoren sehen so aus:

Klassenname() Block

Basis-Konstruktor

Klassenname(Parameter, Parameter, Parameter...) Block

Konstruktor mit Parametern

[ public | private | protected] Klassenname() Block

Zugriffskontrolle

Im Rumpf von Methoden bzw. Konstruktoren können folgende Referenzen und Methoden verwendet werden:

this

Verweist auf das aktuelle Objekt

Klassenname.this

Verweist auf ein bestimmtes inneres Klassenobjekt

super

Verweist auf eine Superklasse

super.Methodenname()

Ruft die Methode einer Superklasse auf

this(...)

Ruft den Konstruktor einer Klasse auf

super(...)

Ruft den Konstruktor einer Superklasse auf

Typ.class

Gibt ein Klassenobjekt für den Typ zurück

return [ Wert ]

Gibt einen Wert zurück

Import

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

Einfache Schnittstellendefinition

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

Überwachung

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)



vorheriges KapitelInhaltsverzeichnisStichwortverzeichnisFeedbacknächstes Kapitel


Ein Imprint des Markt&Technik Buch- und Software-Verlag GmbH.
Elektronische Fassung des Titels: Java 2 in 21 Tagen, ISBN: 3-8272-5578-3