Einführung in qualifizierte Namen und Namensräume in Java im Rahmen der Lehre des Programmierens. (Java Namensraum, Java, java.lang, Java, package, Java, qualified name, namespace, name space, ), Lektion, Seite 721146
https://www.purl.org/stefan_ram/pub/java_namensraum_de (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

Qualifizierte Namen in Java 

Das folgende Programm wurde schon behandelt. Seine Ausgabe ist der Wert des Wertnamens »java.lang.Integer.MAX_VALUE«.

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( java.lang.Integer.MAX_VALUE ); }}
java.lang.System.out
2147483647

Im folgenden sollen nun solche Namen, wie beispielsweise der Wertname »java.lang.Integer.MAX_VALUE«, näher beschrieben werden.

Bezeichner

Ein einzelnes Wort wird Bezeichner  genannt.

Ein Bezeichner darf Buchstaben, Ziffern  und Grundstriche  »_« enthalten, aber nicht mit einer Ziffer beginnen.

Beispiele für Bezeichner sind: »java«, »Integer« und »MAX_VALUE«.

Jeder Bezeichner ist eine lexikalische Einheit.

Da wir derzeit Bezeichner nur lesen, aber nicht selber schreiben, benötigen wir kein detailliertes morphologisches Diagramm, das ihren Aufbau zeigt.

Qualifizierte Namen

Ein qualifizierter Name  ist ein Folge von Bezeichnern, die jeweils durch einen Punkt ».« miteinander verbunden sind. Ein qualifizierter  Name muß also mindestens  einen Punkt enthalten.

Ein qualifizierter Name (Beispiel)
java.lang.Integer.MAX_VALUE

Namen

Ein Name  ist ein qualifizierter Name (ein Name mit  Punkt) oder  ein Bezeichner (ein Name ohne  Punkt). Namen dürfen also auch Punkte ».« enthalten, Bezeichner nicht.

Im Syntaxdiagramm wird der Aufbau eines Namens durch ein rekursives  Diagramm beschrieben.

Die Syntax von Namen
Name
.-----------------------.
| .------. .-. v .------------.
---'--->| Name |-->( . )---'--->| Bezeichner |--->
'------' '-' '------------'

Die Struktur eines qualifizierten Namens besteht darin, daß ein qualifizierter Name ein Bezeichner ist, vor dem noch ein durch einen Punkt abgetrennter Name steht. Der Punkt in qualifizierten Namen ist also linksassoziativ zu verstehen.

Ein Name besteht also entweder aus einem Namen, einem Punkt ».« (oberes Syntaxdiagramm) und einem Bezeichner oder nur aus einem Bezeichner (unteres Syntaxdiagramm).

Der Name »java« ist nur ein Bezeichner (unteres Syntaxdiagramm).

Der Name »java.lang« wird durch den Punkt in den Namen »java« einerseits und dem Bezeichner »lang« andererseits zerlegt (oberes Syntaxdiagramm).

Der Name »java.lang.Integer« wird durch den rechtesten Punkt in den Namen »java.lang« einerseits und dem Bezeichner »lang« andererseits zerlegt (oberes Syntaxdiagramm).

Der Name »java.lang.Integer.MAX_VALUE« wird den rechtesten Punkt in den Namen »java.lang.Integer« einerseits und dem Bezeichner »MAX_VALUE« andererseits zerlegt (oberes Syntaxdiagramm).

Bezeichner

Wir hatten den Begriff „Bezeichner“ ja schon in einer früheren Lektion definiert.

Ein Bezeichner kann in dieser Lektion hier nun auch als ein Name ohne Punkt  definiert werden. Man kann einen Bezeichner auch einen unqualifizierten Namen  oder einen nicht-qualifizierten Namen  nennen. Ein Bezeichner wird auch als einfacher Name  bezeichnet.

Lexikalische Einheiten _

Jeder Bezeichner und jeder Punkt in einem qualifizierten Namen stellt eine lexikalische Einheit  dar. (In einem Punktnumerale, wie »3.2« ist der Punkt aber keine lexikalische Einheit, sondern nur das gesamte Numerale.)

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( java
.
lang
.
Integer
.
MAX_VALUE ); }}
java.lang.System.out
2147483647
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( java . lang . Integer . MAX_VALUE ); }}
java.lang.System.out
2147483647

Obwohl der Punkt von Leerraum umgeben sein darf und zwischen zwei Bezeichnern stehen kann, ist er kein  Operator, da es sich bei den Teilen, die er verbindet, im allgemeinen nicht  um Ausdrücke handelt, wie dies bei Operatoren der Fall ist.

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

Jedes Literal, jeder Bezeichner, jeder Operator  und jeder Separator  gilt immer als jeweils eine lexikalische Einheit.

Quelltext wird als eine Folge lexikalischer Einheiten  interpretiert.

Übungsfragen _

?   Namen _

Welche der folgenden Texte sind Namen?

?   Qualifikationen _

Welcher der folgenden Namen ist einfach (also ein Bezeichner) und welcher qualifiziert?

?   Lexikalische Einheiten _

Wie viele lexikalische Einheiten umfassen die folgenden Ausdrücke jeweils?

Syntax von Ausdrücken *

Wir können die Syntax von Ausdrücken nun um die Definition von Namen  erweitern. (Die darin verwendete Kategorie „Bezeichner“ wurde bereits in einer der früheren Lektionen durch ein morphologisches Diagramm beschrieben.)

Neue, erweiterte Syntax (vereinfacht)

Primaerausdruck
.-. .----------. .-.
--->.--->( ( )--->| Ausdruck |--->( ) )--->.--->
| '-' '----------' '-' ^
| .----------. |
'------------>| Literal |-------------'
'----------'

Name
.-----------------------.
| .------. .-. v .------------.
---'--->| Name |-->( . )---'--->| Bezeichner |--->
'------' '-' '------------'

Postfixausdruck

.-----------------.
--->.--->| Primaerausdruck |---.--->
| '-----------------' ^
| .-----------------. |
'--->| Name |---'
'-----------------'

Vorzeichenausdruck
.--------------------.
---.------------>| Postfixausdruck |----.---->
| '--------------------' ^
| .-. .--------------------. |
'--->( - )--->| Vorzeichenausdruck |----'
| '-' '--------------------' |
| .-. .--------------------. |
'--->( + )--->| Vorzeichenausdruck |----'
'-' '--------------------'

Multiplikativausdruck
.-----------------------.
---.--->| Vorzeichenausdruck |--------------------------------------.--->
| '-----------------------' ^
| .-----------------------. .-. .--------------------. |
'--->| Multiplikativausdruck |--->( * )--->| Vorzeichenausdruck |---'
| '-----------------------' '-' '--------------------' |
| .-----------------------. .-. .--------------------. |
'--->| Multiplikativausdruck |--->( / )--->| Vorzeichenausdruck |---'
'-----------------------' '-' '--------------------'

Additivausdruck
.-----------------------.
---.--->| Multiplikativausdruck |-----------------------------------------.--->
| '-----------------------' ^
| .-----------------------. .-. .-----------------------. |
'--->| Additivausdruck |--->( + )--->| Multiplikativausdruck |---'
| '-----------------------' '-' '-----------------------' |
| .-----------------------. .-. .-----------------------. |
'--->| Additivausdruck |--->( - )--->| Multiplikativausdruck |---'
'-----------------------' '-' '-----------------------'

Ausdruck
.-----------------.
--->| Additivausdruck |--->
'-----------------'

Zitate *

JLS8
6.2 Names and Identifiers
A name is used to refer to an entity declared in a program.
There are two forms of names: simple names and qualified names.
A simple name  is a single identifier.
A qualified name  consists of a name, a "." token, and an identifier.

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 stefanram721146 stefan_ram:721146 Java Namensraum, Java, java.lang, Java, package, Java, qualified name, namespace, name space, Java Namensbereich, Java Namensbereiche kostenlos, kostenlose, kostenloses, kosten los, kosten lose, kosten loses, gratis, free, frei, freie, freies, privat, private, privates, homepage, home-page, home page, website, web site, webpage, web-page, web page, webpages, web-pages, web pages, webseite, Web-Seite, Webseite, Webseiten, Web-Artikel, Web Artikel, online, on-line, on line, download downloaden, down load, or, deutsch, deutsche, deutsches, deutscher, Deutschland, deutschsprachig, deutschsprachige, deutschsprachiges, german, germany, and, uebersicht, Uerbersicht, uebersichten, Uebersichten, Übersicht, übersicht, Übersichten, übersichten, Uebersicht, uebersicht, Uebersichten, uebersichten, Info, Infos zu, Information über, ueber, Informationen über, Auskunft, Auskünfte, Auskuenfte, Dienst, PbclevtugFgrsnaEnz, Angebot, Angebote, Anbieter, server, für, fuer, in, an, keyword, keywords, key word, keywords, internet, internets, net, network, net work, networks, net works, web, www, world wide web, Theorie, Praxis, Anwendung, DV, IT, glossar, fachwörterbuch it-glossar, computer lexikon, Computerlexikon, Computer-Lexikon, Lexikon, computer lexicon, Computerlexicon, Computer-Lexicon, Lexicon, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 was ist ein, was ist das, was sind, definiere, definition, define, Inhalt, html, xhtml, free im netz, PDF Text, digital, digitale, binär, binäre, elektronisch, elektronische, fachbegriff, fachbegriffe, konzept, Begriff, allgemein, allgemeine, allgemeines, Technik, Datentechnik, Digitaltechnik, Binätechnik, online lesen; , Einführung, Einfuehrung, Einführungen, Einfuehrungen, eLearning-Modul, e-Learning-Modul, eLearning-Module, e-Learning-Module, Kurs Berlin, Kurse Berlin, Kursus, Vortrag, Vorträge, Vortraege, Lehrgang, Lehrgänge, Lehrgaenge, kostenloses Lehrmaterial, kostenlose Lehrmaterialien, Vorlesung, Vorlesungen, Unterrichtseinheit, Unterrichtseinheiten, kostenloses Unterrichtsmaterial im Internet, kostenlose Unterrichtsmaterialien im Internet, Ausbildung, Ausbildungen, für die Ausbildung, Fortbildung, Fortbildungen, Weiterbildung, Weiterbildungen, Schulung Berlin, Schulungen Berlin, Internetschulung, Webschulung, Kursunterlage, Kursunterlagen, trainer Berlin, Didaktik, Informatikunterricht, Primer, Skript FH, Skripte FH, Skriptum FH, Skripts FH, Script FH, Scripte FH, Scriptum FH, Scripts FH, howto, how-to, how to, Lehrbuch, Buch, Bücher, Buecher, Bericht, Crash Kurs Berlin, Crash-Kurs Berlin, Crashkurs Berlin, Report, Sachtext, Sachtexte, Übung, Übungen, Uebung, Uebungen, course, PbclevtugFgrsnaEnz, lecture note, lecture notes, Tutorial, Tutor, Tutorium, Teacher, Lehrer Berlin, Trainer Berlin, Beratung Berlin, Anleitung zum, Anleitungen zum, Einführung, Einfuehrung, Einführungen, Einfuehrungen, Handbuch für, Handbücher, Handbuecher, Support, Diplomarbeit, Facharbeit, Hausarbeit, Hausarbeiten, Werk, Werke, Text, Übungsblatt, Uebungsblatt, Lösung, Loesung, Lösungen, Loesungen, Auflösung, Aufloesung, Auflösungen, Aufloesungen, Facharbeit, Facharbeiten, Forum, Training, manual, Folie, Folien, Lehrmittel, beratung, Definition von, Allgemeine Erklärung, Allgemeine Erklaerung, Allgemeine Erklärungen, Allgemeine Erklaerung, Allgemeine Erklaerungen, Einfache Erklärung einfach, Einfache Erklaerung einfach, Einfache Erklärungen, Einfache Erklaerung, Einfache Erklaerungen, zum Thema, FAQ, FAQs, Konzept, Lernkurs, Lern-Kurs, Lernkurse, Lern-Kurse, eine kurze Erklärung, Begriff, Begriffe, Erklärung zu Begriffen, begriffbestimmung, begriffbestimmung, Begriffsbestimmung, Begriffserklärung, Begriffserklaerung, Wort, Worterklärung, Worterklaerung, Definition, Beispiel, Beispiele, Bedeutung, Bedeutungen, was bedeutet, Begriffsdefinition, für Anfänger, fuer Anfaenger, für Einsteiger, für Beginner, zum selber Lernen, handout, hand out, web based training, WBT, Net Based Training, NBT, computer based training, CBT, virtual learning environment, virtual university, für die Schule, Seminar, Seminare, Vorgehensweise, Pädagogik, Paedagogik, Akademie, Onlineacademie, Onlineakademie, Wissen, Unterrichtsvorbereitung für das Fach, Unterricht, für Lehrer, für Lehrerinnen, Referat, Referate, Hausaufgabe, Hausaufgaben, Tip, Tipp. Tipps und Tricks, Tips und Tricks, Methode, Methoden, Methodik, Funktion, Funktionsweise, Aufbau, Prinzip, Grundlage, Grundlagen, Internetschulung, Unterlage, Unterlagen, Struktur, Frage, Fragen, Antwort, Antworten, Schulunterricht, zum erlernen, was ist das?, wie?, lerne, Onlineausbildung, Onlinelehrgang, Onlinekurs, Onlinebuch, Webbuch, Academy, Fachhochschule, FH, TFH, Hochschule, Universität, Universitaet, Uni, Schule, Berufsschule, Gymnasium, Erste Schritte mit, Dozent, Dozenten, Zusammenfassung, Übersicht, Term, Fachwort, Fachbegriff, Fachbegriffe, Grundbegriff, Grundbegriffe, Lektion, Lektionen, Bedienungsanleitung, Bedienungsanleitungen, Spezialist, Spezialisten, Coaching, Coach, Fachbuch, technologie, Unterschied zwischen, Unterschiede zwischen, lehren, unterrichten, für das Studium, für Studenten, für Studentinnen, für Studierende, für Schüler, für Schülerinnen, Wie kann ich, Wie kann man, Hilfe, selber, erstellen, Erstellung, Beginner, Online-Seminar, Online-Kurs, Online-Schulung, ich, gebrauchsanweisung, gebrauchsanleitung, Bedienungsanweisung, Einweisung, Kurzinfo, Internet-Kurs, Internet-Kurse, Online-Training, Intensiv, Intensivkurs, Vortragsreihe, Präsentation, Grundzüge, Mitschrift, Mitschriften, Verständnis, verstehen, anwenden, Hintergrundwissen, Hintergrund, Hintergründe, content, Funktionsprinzip, Schritt für Schritt; E-Learning; elearning; online learning; Fernlehre, Fernlehrgang, Fernlehrgänge, Referent, Referenten, Fernkurs, Fernkurse, Fernstudium, Fernschule, Fernuniversität, Fernlehrer, Denken, Qualifizierungsmaßnahme, Qualifizierung, Qualifizierungen, Volkshochschulkurs, Volkshochschulkurse, Internet-Learning-Plattform, Online-Learning-Plattform, E-Learning-Plattform, Internetlearning-Plattform, Onlinelearning-Plattform, Elearning-Plattform, jetzt, Kochbuch, einfach erklärt, Kenntnis, Kenntniss, Kenntnisse, deutsche Hilfe, lernen und verstehen; blended learning; courseware, Profi, Profis, professionell, professionelle, professionelles, profesionell, profesionelle, profesionelles, professionel, gekonnt, für Könner, Grundkurs, Leistungskurs, Aufbaukurs, Lehrtext, Lehrtexte, Fachtext, Fachtexte, Ausarbeitung, distance learning, Online Seminar, distance education, Online Tutorium, Online Tutorien, technology-based learning, Computer based learning, CBL, Internet Based learning, IBL, Web based learning, WBL, online-learning, OL, online-training, OT, CAI, Computer Assisted Instruction, CUU, Computerunterstützter Unterricht, Computer-unterstützter Unterricht, Know how, Grundkenntnis, Grundkenntnisse, Kompetenz, Schulungsunterlagen, Insiderwissen, Rat, Lehrerinnen und Lehrer, ABC, Überblick, Arbeitsblatt, Sekundarstufe, Oberstufe, Material, Materialien, Unterrichtsentwurf, Unterrichtsentwürfe, Lerntip, Lerntips, Lerntipp, Lerntipps, ebook, schnell lernen, Lerner, Lernender, Lernende Erwachsenenbildung, Frage und Antwort, Selbststudium, Selbstudium, Umschulung, , Softwareentwicklung, Software-Entwicklung, Software Entwicklung, Softwareprogrammierung, Software-Programmierung, Software Programmierung, Softwareherstellung, Software-Herstellung, Software Herstellung, Softwareerstellung, Software-Erstellung, Software Erstellung, Softwareengineering, Software-Engineering, Software Engineering, Softwareenginering, Software-Enginering, Software Enginering, Softwaremethodik, Software-Methodik, Software Methodik, Programmiermethodik, Programmier-Methodik, Programmier Methodik, Softwaredidaktik, Software-Didaktik, Software Didaktik, Methodik des Programmierens, Didaktik des Programmierens, Fachdidaktik des Programmierens, Fach-Didaktik des Programmierens, Programmieren, Programmierung, Computer Science, Informatik, Informatik, Informationspädagogik, Informationspaedagogik, Programmierer, programmieren, Quellcode, Quelltext, Quelle, Quellen, Informatiker, Fachinformatiker, Entwickler, mit Stil, mit Stiel, mit Still, Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd721146, slrprddef721146, 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/java_namensraum_de