Lexikalische Konventionen

In Java können sowohl alle Buchstaben als auch Ziffern aus dem Ascii und ISO-Latin-1 Zeichensatz verwendet werden. Es wird zwischen Groß- und Kleinschreibung unterschieden (case-sensitive). Das bedeutet, dass die Zeichenkette „Beispiel“ nicht gleich der Zeichenkette „beispiel“ ist. Dies gilt auch für Klassen-, Methoden- und Attributnamen. Zum Zeichenvorrat in Java zählen aber auch das Leerzeichen, Steuerzeichen (Zeilenendzeichen, Tabulator …) und diverse Sonderzeichen. Die Sonderzeichen sind in zwei Kategorien eingeteilt. Die erste Kategorie sind die Seperatoren, diese setzen sich zusammen aus den Klammern (), [], {} und den Satzzeichen ; (Semikolon), ,(Komma), .(Punkt) .
Die Operatoren sind die zweite Kategorie = > < ! ~ ? : & | + - * / ^ %.
Die Operatoren werden in einem späteren Kapitel noch mit Beispielen erklärt.

Der \ (Backslash) leitet eine sogenannte Ersatzdarstellung ein. Eine Ersatzdarstellung wird häufig im Zusammenhang mit Zeichenketten verwendet. Dadurch können z.B. Zeilenumbrüche in Zeichenketten eingefügt werden oder generell Zeichenketten im Aussehen manipuliert werden. Es sind folgende Ersatzdarstellungen in Zeichenketten möglich:
\n    Zeilentrenner, alle nachfolgenden Zeichen beginnen eine neue Zeile (new Line)
\t    Horizontaler Tabulator
\b    Backspace
\r    Wagenrücklauf aus dem Zeitalter der Schreibmaschine, springt zum Anfang der Zeile (engl. Carriage Return)
\f    Seitenvorschub bedeutet nichts anderes wie in einem Texteditor „gehe“ zur nächsten Seite. (engl. form feed)
\\    Doppelter Backslash heißt, dass ein Backslash bei der Ausgabe einer Zeichenkette angezeigt wird. Dies ist wichtig, wenn man mit Pfadangaben für Verzeichnisse oder Server arbeitet!
\’    Einfaches Hochkommata, diese Ersatzdarstellung dient dazu, in einer Zeichenkette ein Hochkommata anzuzeigen.
\“    Anführungszeichen, Ersatzdarstellung dient dazu in einer Zeichenkette ein Anführungszeichen darzustellen.

Damit man auch Sonderzeichen verwenden kann, benötigt man die Unicode- Ersatzdarstellung \uXXXX. Die UnicodeErsatzdarstellung wird mit \u eingeleitet. Der Backslash leitet die Ersatzdarstellung ein. Das u bezeichnet den Unicode-Zeichensatz. Die vier x stehen für einen hexadezimalen Wert aus dem Unicode Zeichensatz:

Bsp.:    \u03A9 wäre das griechische Omega

Einfache Anführungszeichen dienen dem Einschluss eines einzelnen Zeichens, man kann mit Ihnen aber keine ganzen Zeichenketten darstellen. Für die Darstellung von ganzen Zeichenketten werden die doppelten Anführungszeichen verwendet werden. Ein einzelnes Zeichen wird als character, kurz char, und eine Zeichenkette als String bezeichnet.

Bei der lexikalischen Konvention sollte man auch beim Programmieren einige Regeln beachten. Wir listen Ihnen nun einige Regeln auf, die standardmäßig angewendet werden. Wir empfehlen Ihnen auch diese Regeln zu befolgen, da diese Regeln die Lesbarkeit von Quelltexten vereinfacht.

  1. Attributsnamen beginnen immer mit Kleinbuchstaben und sollten aussagekräftig seien, d.h. der Name sollte aussagen, wofür das Attribut verwendet wird.
    Bsp.: fehlerText, oder fehler_Text sind in Ordnung
  2. Methodennamen sollten ebenso wie Attributsnamen aussagekräftig seien und ebenso mit einem Kleinbuchstaben beginnen.
    Bsp.: kugelschreiberAusfahren oder kugelschreiber_Ausfahren
  3. Klassennamen, aber auch Interfacenamen, sollten immer mit einem Großbuchstaben anfangen. Auch hier sollte der Klassenname aussagekräftig sein.
    Bsp.: Kugelschreiber
  4. Konstanten werden nur mit Großbuchstaben geschrieben.
    Bsp.: PI


Wenn Sie diese Regeln befolgen und verinnerlichen, können Sie auch besser Programme von anderen Entwicklern verstehen.

Zu einem guten verständlichen Quellcode gehören auch Kommentare. Attribute, Methoden und komplizierte Programmabschnitte sollten kommentiert werden, wenn sie nicht selbsterklärend sind. Die Kommentare dienen nicht nur der Kommunikation, sondern auch als „Gedächtnis“. Kommentare helfen Ihnen auch in der Zukunft noch das Programm zu verstehen. Falls Sie in einem Team arbeiten, sollten Sie sowieso immer Kommentare benutzen, denn Kommentare helfen nicht nur einem selbst, sondern auch Ihren Kollegen/-innen. Es ist besser zu viel als zu wenig zu kommentieren.

In Java gibt es drei unterschiedliche Kommentare, der einzeilige Kommentar, der mehrzeilige Kommentar und der Dokumentationskommentar.

Beispiele für die einzelnen Kommentare:

Einzeiliger Kommentar:

// Dies ist ein einzeiliger Java-Kommentar bis zum Zeilenende

Mehrzeilige Kommentar:

/* Dies ist ein Kommentarblock und
kann sich über mehrere Zeilen erstrecken    */


Dokumentationskommentar:

/** Dies ist ein Dokumentationskommentar, der über javadoc generiert werden kann. Dieser kann sich auch über mehrere Zeilen erstrecken. */

Der Dokumentationskommentar sollte nur vor Klassen, Attributen und Methoden stehen. Er wird nicht über javadoc ausgewertet, wenn er innerhalb einer Methode angewendet wird.

 

Dokumentationskommentar-Tags

Tag & Parameter Ausgabe Verwendung in
 
@author name Beschreibt den Autor Klasse, Interface
@version version

Erzeugt einen Versionseintrag. Maximal einmal pro Klasse oder Interface

Klasse, Interface
@since jdk-version Gibt an, seit wann die Funktionalität existiert Klasse, Interface
@see reference Erzeugt einen Link auf ein anderes Element der Dokumentation Klasse, Interface, Instanzvariable, Methode
@param name description Parameterbeschreibung einer Methode Methode
@return description Beschreibung des Returnwerts einer Methode Methode
@exception classname description
@throws classname description
Beschreibung einer Exception, die von dieser Methode geworfen werden kann Methode
@deprecated description Beschreibt eine veraltete Methode, die nicht mehr verwendet werden sollte Methode
{@inheritDoc} Kopiert die Beschreibung aus der überschriebenen Methode Überschreibende Methode
{@link reference} Link zu einem anderen Symbol alle



 

Schlüsselwörter

Schlüsselwort Beschreibung
 
abstract Deklaration abstrakter Klassen und Methoden
boolean Einfacher Java-Datentyp, kann nur die beiden Werte "true" und "false" annehmen
break Unterbrechung von Schleifen und switch-Anweisungen
byte Einfacher 8-Bit Java-Datentyp
case "Sprungverzweigung" in einer switch-Anweisung
catch Damit fängt einen Block zur Ausnahmebehandlung an.
char Einfacher 16-Bit Unicode Datentyp (in der Regel einzelner Buchstabe).
class Kennzeichnet eine Klasse
continue Ein neuer Schleifendurchgang wird gestartet.
default Standard-Sprungmarke einer switch-Anweisung
do Einleitung einer do-while Schleife
double Einfacher 64-Bit Java Fließkomma-Datentyp
else Nicht zwingender Teil einer if-Anweisung
extends Kennzeichnet Ableitung (Vererbung) von einer übergeordneten Klasse (Superklasse)
final Modifikator für Klassen, Methoden und Attribute. Keine weitere Modifikation möglich.
finally Beendet eine "try-catch"-Anweisung und leitet einen Anweisungsblock, der in jedem Fall ausgeführt wird (finally ist optional)
float Einfacher 32-Bit Java Fließkomma-Datentyp
for Schleifenanweisung für eine for-Schleife
if Bedingte Anweisung
implements Gibt an, welche Schnittstellen eine Klasse zu implementieren hat
import Befehl zur Einbindung von Paketen, die Verwendung finden sollen
instanceof Operator zur Überprüfung einer Typkonvertierung
int Einfacher 32-Bit Java Ganzzahl-Datentyp
interface Deklarationseinleitung einer Schnittstelle
long Einfacher 64-Bit Java Ganzzahl-Datentyp
native Modifikator für Methoden, kennzeichnet Methoden, die in einer anderen Programmiersprache implementiert wurden.
new Erzeugt ein neues Objekt.
package Leitet die Deklaration eines Paketes ein.
private Zugriffsmodifikator für Klassen, Attribute und Methoden (kein Zugriff von außen möglich).
protected Zugriffsmodifikator für Klassen, Attribute und Methoden (nur Zugriff innerhalb des selben Paketes).
public Zugriffsmodifikator für Klassen, Attribute und Methoden (für alle zugänglich).
return Springt zum Aufrufer zurück, gegebenenfalls mit Rückgabewert.
short Einfacher 16-Bit Java Ganzzahl-Datentyp
static Dient als Modifikator für Klassen, Attribute und Methoden.
strictfp Kennzeichnung einer Methode, mit der Zwischenwerte von Operationen nach IEEE754 berechnet werden können.
super Erlaubt Zugriff auf überschriebene Methoden und verdeckte Attribute der übergeordneten Klasse (Superklasse).
switch Auswahlanweisung
synchronized Dient der Thread-Synchronisation von Methoden.
this Bezeichnet die Referenz auf das eigene Objekt (sich selbst).
throw Leitet "Werfen" einer Ausnahme (Exception) ein
throws Gibt an, welche Ausnahmen (Exceptions) bei einer Methode "geworfen" werden können
transient Kennzeichnung von Attributen, die nicht serialisiert (gespeichert oder übertragen) werden.
try Leitet einen Anweisungsblock ein, in dem eine Ausnahme(Exception) auftreten kann.
void Kennzeichnet Methoden, die keinen Rückgabewert haben
volatile Kennzeichnet ein Attribut, welches von mehreren Threads gleichzeitig verändert werden kann.
while Schleifenanweisung
   
   
const Ist reserviert, findet aber keine Anwendung
goto Ist reserviert, findet aber keine Anwendung

 

In Java gibt es auch vordefinierte Konstanten, dazu zählen die Booleschen Konstanten true und false und die sogenannte Nullkonstante null. Die Nullkonstante wird auch als null-Referenz bezeichnet. Jedes komplexe Attribut wird mit der Nullkonstante vorbelegt, wenn es nicht initialisiert, d.h. mit einem Wert vorbelegt, wird.

In dem nächsten Kapitel gehen wir auf die Datentypen und deren Wertigkeit ein.