Schlüsselwörter und Bezeichner in Java (Schlüsselwörter und Bezeichner in Java), Lektion, Seite 723810
https://www.purl.org/stefan_ram/pub/schluesselwoerter_java (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

Schlüsselwörter und Bezeichner in Java 

Abgerundete Kästchen in Syntaxdiagrammen

Ein abgerundetes Kästchen in einem morphologischen Diagramm  steht für ein Zeichen, ein abgerundetes Kästchen in einem Syntaxdiagramm  steht für eine lexikalische Einheit. Deswegen darf in einem abgerundeten Kästchen in einem morphologischen Diagramm immer nur ein Zeichen stehen, während in einem abgerundeten Kästchen in einem Syntaxdiagramm auch mehrere Zeichen  stehen dürfen, die zusammen eine lexikalische Einheit bilden.

Beispiel eines Syntaxdiagrammes mit einer lexikalischen Einheit mit mehreren Zeichen
Gamma
.---. .-.
--->( abc )--->( ; )--->
  '---' '-'
Drei mögliche Inkarnationen der Kategorie »Gamma«

abc;

abc ;

abc
;

In den beiden obigen Beispielen zur Kategorie »Vorzeichen« ist sowohl die Interpretation als morphologisches Diagramm als auch die Interpretation als Syntaxdiagramm möglich gewesen, weil ein Vorzeichen wie »-« sowohl ein Zeichen ist als auch eine lexikalische Einheit sein kann. In dem hier angegebenen Beispiel zur Kategorie »Gamma« findet sich nun eine lexikalische Einheit »abc«, die aus drei Zeichen  besteht.

Lexikalische Einheiten aus mehreren Zeichen, wie beispielsweise »abc«, werden manchmal auch als Wortsymbole  bezeichnet. Dadurch wird ausgedrückt, daß es sich zwar im allgemeinen um mehrere Zeichen  handelt, aber in der Programmiersprache die lexikalische Einheit »abc« als ein einziges Symbol  angesehen wird, genauso wie etwa die lexikalische Einheit »;«, die nur aus einem Zeichen besteht.

Zerlegung des Quelltextes »abc;« in zwei lexikalische Einheiten
     .---.      .-.
--->( abc )--->( ; )--->
'---' '-'

Schlüsselwörter

Ein Schlüsselwort  ist eine Wort, das in den offiziellen Syntaxdiagrammen von Java  als ein Terminalsymbol erscheint. Man findet sie in den offiziellen Syntaxdiagrammen also in abgerundeten Kästchen. (In den Produktionsregeln der Java Language Specification  sind Schlüsselwörter Wörter in nicht-kursiver dicktengleicher serifenbetonter Linearantiqua [„Schreibmaschinenschrift“].)

Jedes Schlüsselwort ist damit auch eine lexikalische Einheit.

Es handelt sich bei Schlüsselwörtern also um feststehende Bestandteile der Syntax der Programmiersprache Java.

Wir können aus dem Syntaxdiagramm „final-Variablendeklaration“ vier Schlüsselwörter ablesen: »final«, »int«, »long« und »double«.

final-Variablendeklaration (vereinfachtes Syntaxdiagramm)

final-Variablendeklaration
.-----. .-----. .------------. .-. .----------.
--->( final )---.--->| Typ |---.--->| Bezeichner |---->( = )---->| Ausdruck |--->
'-----' | '-----' ^ '------------' '-' '----------'
| .---. |
'--->( var )---'
'---'

Typ
.---.
---.---->( int )---->.--->
| '---' ^
| .------. |
'--->( long )---'
| '------' |
| .------. |
'--->( double )---'
| '------' |
| .------. |
'---->| Name |----'
'------'

Liste der bisher verwendeten Schlüsselwörter
»double«, »int«, »long«, »final«

(Die in einigen früheren Syntaxdiagrammen dieses Kurses in abgerundeten Kästchen stehenden Wörter »java«, »lang«, »System«, »out«, »println« und »print« sind jedoch keine  Schlüsselwörter. Sie standen nur wegen einer Vereinfachung  der tatsächlichen Syntaxdiagramme in abgerundeten Kästchen.)

»var« ist ausnahmsweise kein  Schlüsselwort, obwohl es im Syntaxdiagramm vorkommt.

Liste aller Schlüsselwörter
»_«, »abstract«, »assert«, »boolean«, »break«, »byte«, »case«, »catch«, »char«, »class«, »const«, »continue«, »default«, »double«, »do«, »else«, »enum«, »extends«, »false«, »finally«, »final«, »float«, »for«, »goto«, »if«, »implements«, »import«, »instanceof«, »interface«, »int«, »long«, »native«, »new«, »null«, »package«, »private«, »protected«, »public«, »return«, »short«, »static«, »strictfp«, »super«, »switch«, »synchronized«, »this«, »throws«, »throw«, »transient«, »true«, »try«, »void«, »volatile«, »while«.
Aussprachehinweise
super ˈsupɚ

Bezeichner

Wir hatten den Begriff „Bezeichner“ schon früher im Kurs verwendet. Damals wurde als Bezeichner im wesentlichen das verstanden, was wir jetzt eine „Bezeichnerzeichenfolge“ nennen. Da wir inzwischen Schlüsselwörter kennengelernt haben, können wir die Definition des Begriffs „Bezeichner“ nun etwas genauer fassen.

Ein Bezeichner  ist eine Bezeichnerzeichenfolge, die kein Schlüsselwort  ist.

»double« ist beispielsweise eine Bezeichnerzeichenfolge, aber kein  Bezeichner, da es ein Schlüsselwort ist.

Schlüsselwörter sind Bezeichnerzeichenfolgen, aber keine Bezeichner.

Ein Zeichen wie der Punkt erinnert etwas an einen Operator, aber da es wird „Separator “ genannt.

Lexikalische Einheiten

Die lexikalischen Einheiten  von Java  sind: Bezeichner, Schlüsselwörter, Literale, Separatoren  und Operatoren.

Quelltext wird als eine Folge lexikalischer Einheiten  interpretiert.

Neben des lexikalischen Einheiten findet man im Quelltext noch Leerraum  und Kommentare.

Namen für Variablen

Der Name einer Variablen muß ein Bezeichner  sein.

Der Name einer Variablen darf also kein  Schlüsselwort und kein  qualifizierter Name (mit Punkten) sein.

»double« oder »java.lang.Math.floor« ist also beispielsweise kein  möglicher Name einer Variablen.

Bezeichner, welche in der Standardbibliothek definiert werden, dürfen  für den Namen einer Variablen verwendet werden. Deswegen darf eine Variable beispielsweise »floor« heißen, auch wenn es schon eine Standardmethode »java.lang.Math.floor« gibt.

»var«

Es ist möglich, eine Variable »var« zu nennen, da »var« kein Schlüsselwort ist. (Obwohl »var« im Syntaxdiagramm vorkommt, gilt es ausnahmsweise nicht  als Schlüsselwort.)

Main.java

public final class Main
{ public static void main( final java.lang.String[] args )
{

final var var = 7;
java.lang.System.out.println( var ); }}

Protokoll
7

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram723810 stefan_ram:723810 Schlüsselwörter und Bezeichner in Java Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723810, slrprddef723810, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/schluesselwoerter_java