5 Grundlagen der Java-Syntax

Ähnliche Dokumente
Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel

Java Lexikalische Struktur

Java-Schulung Grundlagen

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

Grundlagen der Modellierung und Programmierung, Übung

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Java - Programmierung - Prozedurale Programmierung 1

MiniJava-Sprachbericht Version 3.1

3. Java - Sprachkonstrukte I

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

1. Der Einstieg in Java. Was heißt Programmieren?

Programmieren I + II Regeln der Code-Formatierung

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Java I Vorlesung Imperatives Programmieren

Programmieren I + II Regeln der Code-Formatierung

3. Java - Sprachkonstrukte I

3. Java - Sprachkonstrukte I

Programmierung. Grundlagen. Tina Wegener, Ralph Steyer. 2. Ausgabe, 1. Aktualisierung, April 2014

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

2 Programmieren in Java I noch ohne Nachbearbeitung

1. Der Einstieg in Java

II.4.2 Abstrakte Klassen und Interfaces - 1 -

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -

Übungen Informatik I. JAVA - Einführung. elga Gabler, Holger Vogelsang, Christian Pape. Übungen Informatik 1 Folie 1

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin

Java Spickzettel von Panjutorials.de

Java: Eine kurze Einführung an Beispielen

Einführung in C. EDV1-04C-Einführung 1

Einführung in die Programmierung 1

Programme erstellen in Java

Einstieg in die Informatik mit Java

Welche Informatik-Kenntnisse bringen Sie mit?

JAVA für Nichtinformatiker - Probeklausur -

Einführung in die Programmierung mit BlueJ

Java Übung. Übung 2. Werner Gaulke. 19. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur

Programmierkonventionen - 1 -

Programmieren in Java -Eingangstest-

SE2-6. Übung Johannes Bürdek

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Grundelemente objektorientierter Sprachen (1)

Programmieren und Problemlösen Java-Sprachkonstrukte. Java-Sprachkonstrukte. Übung Altersberechner. Namen und Bezeichner. Namen und Bezeichner

Java für Anfänger Teil 4: Anweisungen. Programmierkurs Manfred Jackel

Einstieg in die Informatik mit Java

Einführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax

Scala: Klassen, Methoden und Objekte. von Simon Lerch

Einführung in die Programmierung. 2.1 Methoden. Thomas R. Gross. Department Informatik ETH Zürich

Übungen zu Programmieren - Code-Formatierung -

Einstieg in die Informatik mit Java

Objektorientiertes Programmieren (Java)

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Primitive Datentypen

JAVA 06: Gemischte einfache Fragen zu Java

Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe

Einstieg in die Informatik mit Java

Übungsblatt 1. Java Vorkurs (WS 2017)

Probeklausur Informatik 2 Sommersemester 2013

Programmiervorkurs Einführung in Java Tag 1

2 Imperative Sprachkonzepte

Vorkurs Informatik WiSe 15/16

Grundelemente objektorientierter Sprachen (1)

Ausdrücke in Scala. Funktionale Programmierung. Christoph Knabe FB VI

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Ein erstes Java-Programm

Ausnahmebehandlung in Java

Fragenkatalog ESOP WS 16/17

2 Teil 2: Nassi-Schneiderman

3. Anweisungen und Kontrollstrukturen

Programmierkurs C++ Variablen und Datentypen

Einstieg in die Informatik mit Java

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.

Objektorientierte Programmierung OOP Programmieren mit Java

2 Eine einfache Programmiersprache

System.out.println("TEXT");

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

2 Eine einfache Programmiersprache

Transkript:

5 Grundlagen der Java-Syntax Es sollen nun einige Grundregeln besprechen, die in jeder Java-Programmdatei berücksichtigt werden müssen. 5.1 Grundsätzliches zur Syntax von Java Programmen Zunächst sollten Sie wissen, daß der Compiler sich nicht um die Zeilenstruktur Ihres Programms kümmert für ihn gibt es zwischen Leerzeichen und Zeilenumbrüchen keinen besonderen Unterschied. Wir hätten das Beispiel Kreuz.java aus dem letzten Kapitel auch so schreiben können: /* * Benutzt die Turtle, um ein Kreuz zu zeichnen. */import eip.turtlescreen;import eip.turtle; class Kreuz {public static void main( String[] args ) {TurtleScreen ts = new TurtleScreen(); Turtle t = new Turtle( ts ); t.pd(); t.fd( 200 ); t.bk( 100 ); t.rt( 90 );t.fd( 100 );t.bk( 200 ); Dem Compiler ist es egal, wie das Programm formatiert ist. Für uns Menschen ist aber dieses Programm sehr viel schlechter zu lesen als das ursprüngliche. Da er nicht die Zeilenstruktur des Programmes verwendet, muß der Compiler irgendwie anders erkennen, wann ein Befehl im Programm endet und der nächste Befehl beginnt. Darum muß in Java jede Anweisung mit einem Semikolon enden. Das gilt aber nicht für die Definition einer Klasse oder Methode. Wenn der Compiler eine Datei bearbeitet, sieht er zunächst nur einen Strom von Zeichen. Diese Zeichen faßt er zu größeren Einheiten zusammen. Um etwas für den Compiler verständliches zu programmieren, müssen Sie wissen, was für Einheiten der Compiler versteht. Java identifiziert in seinem Eingabestrom die folgenden Einheiten: Schlüsselwörter Ein Schlüsselwort ist ein Wort, welches innerhalb der Programmiersprache eine genau festgelegte Bedeutung hat. In Java sind folgende Wörter als Schlüsselwörter reserviert (das brauchen Sie sich nicht zu merken): abstract boolean break byte case catch char class const continue default do double else extends false final finally float for goto if implements import instanceof int interface long native new package private protected public return short static super switch synchronized this true throw throws transient try void volatile while 30

Jedes dieser Wörter hat für Java eine ganz spezielle Bedeutung. Wannimmer eines im Programmtext auftaucht, muß es in genau der vorgesehenen Art und Weise benutzt werden. Neben den Schlüsselwörtern kennt Java noch einige Symbole, die beispielsweise beim Rechnen mit Zahlen benutzt werden: = > <! ~? : == <= >=!= && ++ -- + - * / & ^ % << >> >>> += -= *= /= &= = ^= %= <<= >>= >>>= Bezeichner Bezeichner werden verwendet, um Objekten, Klassen, Attributen, Methoden und anderen Dingen im Java-Programm Namen zu geben. Namen sind sehr wichtig; beispielsweise können Sie ein Objekt nur verwenden, wenn Sie das Objekt unter einem gewissen Namen kennen. Beispiel: In der Beispielklasse Kreuz.java auf Seite?? wurden die Schlüsselwörter import, class, public, static, void, public und new verwendet. Es wurden die Bezeichner eip.turtlescreen, eip.turtle, Kreuz, main, args, String, TurtleScreen, ts, Turtle, t, pd, fd, bk und rt benutzt. Bei der Wahl von Bezeichnern dürfen Sie Ihrer Phantasie fast freien Lauf lassen. Allerdings sollten Sie dafür sorgen, daß die von Ihnen gewählten Bezeichner aussagekräftig sind und das bezeichnete Objekt gut charakterisieren. Java ist es egal, ob Sie wir die Turtle mit t oder mit ruebe. Einen menschlichen Leser würden Sie dadurch aber verwirren. Ein Bezeichner darf beliebig lang werden, und bei der Wahl eines Bezeichners werden Sie lediglich durch folgende Bedingungen eingeschränkt: Ein Bezeichner darf groß- und kleingeschriebene Buchstaben 13, die Ziffern 0-9 und die Sonderzeichen _ und $ enthalten. Dabei sollten Sie von der Verwendung des Zeichens $ aber absehen es ist für vom Compiler automatisch generierte Bezeichner vorgesehen. Ein Bezeichner darf nicht mit einer Ziffer anfangen. Schlüsselwort dürfen Sie nicht als Bezeichner verwenden. Wichtig zu bemerken ist noch, daß Java großgeschriebene und kleingeschriebene Buchstaben streng unterscheidet für Java sind einbezeichner und EinBezeichner zwei völlig verschiedene Dinge. Wenn Sie Bezeichner wählen, sollten Sie diese Eigenschaft von Java aber nicht mißbrauchen ein menschlicher Leser Ihres Programm könnte möglicherweise durcheinanderkommen. Wenn Sie für verschiedene Dinge Bezeichner verwenden, die sich nur durch die Groß- Kleinschreibung unterscheiden, wird es einem Menschen sicher schwerfallen, sich zu merken, wofür welcher Bezeichner steht. Vermeiden Sie daher die Verwendung von Bezeichnern, die sich nur durch die Groß- Kleinschreibung unterscheiden. 13 Es ist sogar möglich, chinesische oder russische Buchstaben zu verwenden wie das geht, werden wir Ihnen aber nicht erzählen. 31

Beispiel: Hier eine Liste gültiger Bezeichner: i3 String MAX VALUE Lupo1234 392 i meineklasse meineklasse mein segel boot Nun folgt eine Liste ungültiger Bezeichner: 1haus class ab-c #bdd ein Objekt Ungültig: beginnt mit Ziffer. Ungültig: class ist ein Schlüsselwort. Ungültig, weil ein Minus nicht in einem Bezeichner enthalten sein darf. Java würde denken, daß Sie hier das durch c bezeichnete Objekt vom mit ab bezeichneten Objekt substrahieren wollen. Ungültig: enthält ein nicht erlaubtes Sonderzeichen. Ungültig: enthält ein Leerzeichen. Und schließlich eine Liste von Bezeichnern, die zwar erlaubt sind, die Sie aber dennoch nicht verwenden sollten. Meine$Klasse Das Symbol $ sollten Sie nicht verwenden. Die Java- Umgebung benutzt es nämlich auf eine ganz spezielle Weise. Class Java unterscheidet zwischen Groß- und Kleinschreibung und wird diesen Bezeichner daher nicht mit dem Schlüsselwort class in Verbindung bringen. Ein menschlicher Leser könnte dadurch aber verwirrt werden. Zahlenkonstanten Natürlich dürfen in einem Java-Programm auch Zahlen vorkommen. Java kennt ganze oder reelle Zahlen. Wie Zahlen in einem Programm genau aussehen dürfen, beschreiben wir erst später. Vorerst sei gesagt, daß man beim Angeben von Zahlen eigentlich nicht allzuviel falsch machen kann. Beispiel: Beispiele für ganze Zahlen sind: 10, -30, +1043, 1334, 0123, 0xFF Bei den letzten Zahlen des Beispiels ist eine Bemerkung angebracht wenn eine mehrstellige Zahl mit einer Null anfängt, faßt Java Sie als Zahl in oktaler Darstellung auf. Wenn eine Zahl mit den Zeichen 0x beginnt, faßt Java sie als hexadezimale Zahl auf. Die oktale Zahl 0123 entspricht der dezimalen Zahl 83, und die hexadezimale Zahl 0xFF entspricht der dezimalen Zahl 255. Später gehen wir darauf nochmal ein. Beispiele für reelle Zahlen sind: 3.141, 493.,.5, -503, 120e-9, 140.5E120 Sie sehen, daß in Java als Dezimalpunkt tatsächlich ein Punkt und nicht ein Komma verwendet wird. Das e bzw. das E in den letzten beiden Zahlen steht für Exponent. Die Zahl 120e 9 entspricht der Zahl 120 10 9, und genauso steht die Zahl 140.5E120 für die Zahl 120 10 120. Ob Sie bei dieser Schreibweise lieber ein kleines e oder ein großes E verwenden, ist Ihnen überlassen beide Schreibweisen sind erlaubt und haben die gleiche Wirkung. 32

Zeichenketten Eine Zeichenkette ist ein in doppelten Anführungszeichen stehender Text. In der Zeichenkette ist jedes Zeichen erlaubt. Es gibt allerdings einige Zeichen, bei denen man sich etwas anstrengen muß, um Sie in eine Zeichenkette aufzunehmen. Darauf wird später noch eingegangen. Beispiel: Hier ein paar Beispiele für gültige Zeichenketten: "Dies ist eine Zeichenkette" "Sonderzeichen {!#/-" "class" "510" Die mittlere Zeichenkette enthält den Text class. Da der Text in einer Zeichenkette steht, hat er für Java nichts mit dem Schlüsselwort class der Sprache Java zu tun. Die letzte Zeichenkette enthält den Text 510. Auch hier gilt: Aufgrund der Anführungszeichen interpretiert Java dies nicht als die Zahl 510 sondern als Text. Schließlich noch ein Beispiel für eine ungültige Zeichenkette: "Sein Name war "Hans". " Das erste Anführungszeichen beendet die Zeichenkette. Java liest dies als Zeichenkette mit Inhalt Sein Name war gefolgt vom Bezeichner Hans gefolgt von der Zeichenkette.. Auf diese Art kann man keine Zeichenkette erzeugen, die ein Anführungszeichen enthält. Später erfahren Sie, wie das geht. Kommentare schließlich können Sie in ein Java-Programm Kommentare aufnehmen. Kommentare dienen dazu, den Programmtext zu kommentieren. Dazu gehört insbesondere die Dokumentation der Klassen, ihrer Attribute und ihrer Methoden. Alles, was in einem Kommentar steht, wird vom Java-Compiler völlig ignoriert. Sie können in einen Kommentar also beliebige Texte schreiben. Java unterscheidet mehrere Arten von Kommentaren. Ein einzeiliger Kommentar wird durch das Zeichen // eingeleitet. Wenn diese Zeichen in einer Zeile (außerhalb einer Zeichenkette) stehen, ignoriert Java den gesamten Rest der Zeile. Unser kleines Beispielprogramm von vorhin könnten wir mit einzeiligen Kommentaren wie folgt dokumentieren: class HalloWelt { // gebe den Text "Hallo, Welt" aus. // diese Methode wird beim ausführen der Klasse ausgeführt: public static void main( String[] args ) { System.out.println("Hallo, Welt //"); Zu Demonstrationszwecken haben wir auch in die Zeichenkette"Hallo, Welt" das Zeichen // eingefügt. An der Stelle bewirkt es keinen Kommentar, da es sich innerhalb einer Zeichenkette befindet. 33

Ein mehrzeiliger Kommentar wird durch /* begonnen und endet mit */. Alles zwischen /* und */ wird vom Compiler ignoriert. Unser Beispiel könnten wir auch so dokumentieren: /* * Die Klasse HalloWelt gibt auf dem Bildschirm den Text * "Hallo, Welt" aus. */ class HalloWelt { /*********************************************************** * diese Methode wird beim ausführen der Klasse ausgeführt: */ public static void main( String[] args ) { System.out.println("Hallo, Welt //"); Schließlich noch ein Beispiel für einen ungültigen Kommentar: /* Ein Kommentar /* in einem Kommentar */ ist nicht erlaubt */ Es ist nicht möglich, einen durch /*...*/ begrenzten Kommentar zu schreiben, in welchem ein weiterer solcher Kommentar enthalten ist. Der Compiler würde hier beim ersten */ denken, der Kommentar sei beendet. Es ist jedoch möglich, das//-zeichen innerhalb eines solchen Kommentars zu verwenden: /* Ein einzeiliger Kommentar // in einem Kommentar ist erlaubt. */ Sie sollten Kommentare verwenden, um Ihr Programm verständlicher zu machen. Zur Verständlichkeit eines Programms gehört aber nicht nur die Formulierung hilfreicher Kommentare sondern auch die Verwendung aussagekräftiger Bezeichner und das Einhalten einer gut lesbaren Programmstruktur. Wenn Sie aussagekräftige Bezeichner verwenden, können Sie sich so manchen Kommentar sparen. 5.2 Zusammenfassung Nachdem Sie dies Kapitel gelesen haben, sollten Sie folgende Fragen beantworten können: Welchen Zweck hat die Zeilenstruktur eines Programms? Wozu dient ein Semikolon in Java? Geben Sie Beispiele für Bezeichner, die zwar erlaubt sind, aber dennoch nicht benutzt werden sollten! Was ist eine Zeichenkette? 34