Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage
<< | < | > | >> | API | Kapitel 4 - Datentypen

## 4.1 Lexikalische Elemente eines Java-Programms

- 4.1 Lexikalische Elemente eines Java-Programms
  - 4.1.1 Eingabezeichen
  - 4.1.2 Kommentare
  - 4.1.3 Bezeichner
  - 4.1.4 Weitere Unterschiede zu C

Bevor wir uns in diesem Kapitel mit den Datentypen von Java befassen, sollen zunächst einmal die wichtigsten lexikalischen Eigenschaften der Sprache vorgestellt werden. Hierzu zählen der Eingabezeichensatz, die Kommentare und die Struktur von Bezeichnern.

### 4.1.1 Eingabezeichen

Ein Java-Programm besteht aus einer Folge von Unicode-Zeichen. Der Unicode-Zeichensatz faßt eine große Zahl internationaler Zeichensätze zusammen und integriert sie in einem einheitlichen Darstellungsmodell. Da die 256 verfügbaren Zeichen eines 8-Bit-Wortes bei weitem nicht ausreichen, um die über 30.000 unterschiedlichen Zeichen des Unicode-Zeichensatzes darzustellen, ist ein Unicode-Zeichen 2 Byte, also 16 Bit, lang. Der Unicode ist mit den ersten 128 Zeichen des ASCII- und mit den ersten 256 Zeichen des ISO-8859-1-Zeichensatzes kompatibel.

|  | Die Integration des Unicode-Zeichensatzes geht in Java so weit, daß neben `String`- und `char`-Typen auch die literalen Symbole und Bezeichner der Programmiersprache im Unicode realisiert sind. Es ist daher ohne weiteres möglich, Variablen- oder Klassennamen mit nationalen Sonderzeichen oder anderen Symbolen zu versehen. |  |
Hinweis

### 4.1.2 Kommentare

Es gibt in Java drei Arten von Kommentaren:

- Einzeilige Kommentare beginnen mit `//` und enden am Ende der aktuellen Zeile.
- Mehrzeilige Kommentare beginnen mit `/*` und enden mit `*/`. Sie können sich über mehrere Zeilen erstrecken.
- Dokumentationskommentare beginnen mit `/**` und enden mit `*/` und können sich ebenfalls über mehrere Zeilen erstrecken.

Kommentare derselben Art sind nicht schachtelbar. Ein Java-Compiler akzeptiert aber einen einzeiligen innerhalb eines mehrzeiligen Kommentars und umgekehrt.

Dokumentationskommentare dienen dazu, Programme im Quelltext zu dokumentieren. Mit Hilfe des Tools `javadoc` werden sie aus der Quelle extrahiert und in ein HTML-Dokument umgewandelt (siehe Kapitel 50). Kapitel 18 der Sprachspezifikation erklärt die Verwendung von Dokumentationskommentaren ausführlich. Wir wollen uns hier lediglich auf ein kleines Beispiel beschränken, das besagter Beschreibung entnommen wurde:

    001 /**
    002  * Compares two Objects for equality.
    003  * Returns a boolean that indicates whether this Object
    004  * is equivalent to the specified Object. This method is
    005  * used when an Object is stored in a hashtable.
    006  * @param  obj     the Object to compare with
    007  * @return         true if these Objects are equal;
    008  *                 false otherwise.
    009  * @see            java.util.Hashtable
    010  */
    011 public boolean equals(Object obj)
    012 {
    013   return (this == obj);
    014 }

Listing 4.1: Verwendung eines Dokumentationskommentars im Java-API

Dokumentationskommentare stehen immer vor dem Element, das sie beschreiben sollen. In diesem Fall ist das die Methode `equals` der Klasse `Object`. Der erste Satz ist eine Überschrift, dann folgt eine längere Beschreibung der Funktionsweise. Die durch `@` eingeleiteten Elemente sind Makros, die eine besondere Bedeutung haben. `@param` spezifiziert Methodenparameter, `@return` den Rückgabewert und `@see` einen Verweis. Daneben gibt es noch die Makros `@exception`, `@version` und `@author`, die hier aber nicht auftauchen.

Weitere Informationen zu `javadoc` und den anderen Hilfsprogrammen des JDK finden Sie in Kapitel 50.

### 4.1.3 Bezeichner

Ein Bezeichner ist eine Sequenz von Zeichen, die dazu dient, die Namen von Variablen, Klassen oder Methoden zu spezifizieren. Ein Bezeichner in Java kann beliebig lang sein, und alle Stellen sind signifikant. Bezeichner müssen mit einem Unicode-Buchstaben beginnen (das sind die Zeichen 'A' bis 'Z', 'a' bis 'z', '_' und '$') und dürfen dann weitere Buchstaben oder Ziffern enthalten. Unterstrich und Dollarzeichen sollen nur aus historischen Gründen bzw. bei maschinell generiertem Java-Code verwendet werden.

|  |  |  | Ein Buchstabe im Sinne des Unicode-Zeichensatzes muß nicht zwangsläufig aus dem lateinischen Alphabet stammen. Es ist auch zulässig, Buchstaben aus anderen Landessprachen zu verwenden. Java-Programme können daher ohne weiteres Bezeichner enthalten, die nationalen Konventionen folgen. Java-Bezeichner dürfen jedoch nicht mit Schlüsselwörtern, den booleschen Literalen `true` und `false` oder dem Literal `null` kollidieren. |  |
Warnung

### 4.1.4 Weitere Unterschiede zu C

Nachfolgend seien noch einige weitere Unterschiede zu C und C++ aufgelistet, die auf der lexikalischen Ebene von Bedeutung sind:

- Es gibt keinen Präprozessor in Java und damit auch keine `#define`-, `#include`- und `#ifdef`-Anweisungen.
- Der Backslash `\` darf nicht zur Verkettung von zwei aufeinanderfolgenden Zeilen verwendet werden.
- Konstante Strings, die mit `+` verkettet werden, faßt der Compiler zu einem einzigen String zusammen.

Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage, Addison Wesley, Version 3.0
<< | < | > | >> | API | © 1998-2002 Guido Krüger, http://www.javabuch.de