Erster Blick auf die Syntax

In diesem Kapitel werden die Grundbegriffe von Java erklärt und Aussicht darauf gegeben, was in den nächsten Kapiteln in genauerer Tiefe folgen wird

Einleitung

Betrachten wir ein Java Programm, so kann es als eine Art Ansammlung von Objekten, die über Methoden miteinander "kommunizieren" angesehen werden. Um verstehen zu können, wie Java nun genau funktioniert, gehen wir nun einmal kurz auf die Begriffe Objekt, Klasse, Methode und Instanzvariable ein, die für das Verständnis essentiell sind:

Das erste bisschen Java Code

Werfen wir nun für das erste Mal einen Blick auf richtigen Java Code, der "Hallo Welt" auf der Konsole ausgibt:

 
01
02
03
04
05
06
07
08
09
10
public class MyFirstJavaProgram {
 
    /* Das erste Java Programm...
        * ...gibt Hallo Welt auf der Konsole aus
        */
 
    public static void main(String []args) {
        System.out.println("Hallo Welt"); // gibt Hallo Welt aus
    }
}
 
 
                public class MyFirstJavaProgram {

                    /* Das erste Java Programm...
                        * ...gibt Hallo Welt auf der Konsole aus
                        */

                    public static void main(String []args) {
                        System.out.println("Hallo Welt"); // gibt Hallo Welt aus
                    }
                }
                

Um nun "live" zu sehen, was dieser Code macht, müssen wir diesen ausführen. Hierfür sind folgende Schritte wichtig (Java muss bereits installiert und dessen PATH-Variable gesetzt sein):

Wenn alles richtig funktioniert hat, sollte dein cmd-Fenster nun so aussehen:

 
<Verzeichnis> javac MyFirstJavaProgram.java
<Verzeichnis> java MyFirstJavaProgram
Hello World
 
 
                    <Verzeichnis> javac MyFirstJavaProgram.java
                    <Verzeichnis> java MyFirstJavaProgram 
                    Hello World
                

In dem Fall, dass du keine Berechtigung zum Öffnen eines cmd-Fenster über Win + R hattest, sollte dein cmd-Fenster nun so aussehen:

 
<Verzeichnis> javac MyFirstJavaProgram.java
<Verzeichnis> java MyFirstJavaProgram
Hello World
<Verzeichnis> pause
Drücken Sie eine beliebige Taste...
 
 
                        <Verzeichnis> javac MyFirstJavaProgram.java
                        <Verzeichnis> java MyFirstJavaProgram 
                        Hello World
                        <Verzeichnis> pause
                        Drücken Sie eine beliebige Taste...
                    

Die Grundlagen der Java Syntax

Zunächst gibt es ein paar Punkte, die man sich unbedingt im Kopf behalten sollte:

Bezeichner

Um Dinge oder besser gesagt "Objekte" in Java idenzifizieren, das heißt immer eindeutig ansprechen zu können, werden für Variablen, Methoden, Klassen und Schnittstellen (Genaueres zu Schnittstellen in einem folgenden Kapitel) werden Bezeichner (Auch Identifizierer, engl: identifier genannt) vergeben. Ein Bezeichner ist ganz einfach eine Folge von Zeichen, welche Elemente aus dem Unicode-Zeichensatz sein müssen. Jedes einzelne Zeichen ist hierbei für die Identifikation wichtig (Ein Bezeichner mit 50 Zeichen muss immer mit allen 50 Zeichen korrekt angegeben werden). Jedoch gibt es auch für Bezeichner bestimmte Regeln, nach denen ihre Zeichen gewählt werden müssen. So muss ein Bezeichner ausschließlich aus Java-Buchstaben (=Alle lateinischen, griechischen und arabischen Buchstaben + noch viele weitere Zeichen aus dem Unicode-Alphabet wie €, $ und ¥) und Java-Ziffern bestehen und immer mit einem Java-Buchstaben beginnen. Obwohl die zuvorgenannten festen Regeln viele verrückte Bezeichner zulassen, sollte grundsätzlich die Programmierung mit englischen Bezeichnernamen erfolgen. Nun folgt eine Tabelle mit gültigen Bezeichnern und deren Begründung und danach dasselbe für ungültige Bezeichner.

Gültiger Bezeichner Grund
Matteo Besteht nur aus Alphazeichen
_HaLLo_ Unterstriche sind erlaubt
BéÉN Akzente sind erlaubt
Ω Griechische Buchstaben zählen zu Java-Buchstaben
G€LD Auch das Euro-Zeichen ist ein Java-Buchstabe
¥€$ Absurd, jedoch alles Java-Buchstaben und somit gültig
Ungültiger Bezeichner Grund
2Numern Beginnt mit einer Ziffer, muss allerdings mit einem Java-Buchstaben beginnen
kind alter Leerzeichen sind nicht erlaubt
dead! Viele Sonderzeichen, wie das Ausrufezeichen, sind ungültig
class Ist bereits ein Schlüsselwort von Java (Mehr dazu später)
_ Ein einzelner Unterstricht gehört seit Java 9 zu den reservierten Schlüsselwörtern

Soll ein Bezeichnername aus mehreren Wörtern zusammengesetzt werden, so wird auch hier wie bei der Benennung von Klassen und Methoden (Deren Namen auch Bezeichner sind) die CamelCase-Schreibweise empfohlen. So wird zum Beispiel aus dem ungültigen Bezeichner get user input der gültige Bezeichner getUserInput.

Um dieses Unterkapitel abschließend abzurunden, folgt nun das Code-Beispiel aus dem Unterkapitel "Das erste bisschen Java Code" von zuvor mit einer Auflistung der darin enthaltenen Bezeichner:

 
01
02
03
04
05
06
07
08
09
10
public class MyFirstJavaProgram {
 
    /* Das erste Java Programm...
        * ...gibt Hallo Welt auf der Konsole aus
        */
 
    public static void main(String []args) {
        System.out.println("Hallo Welt"); // gibt Hallo Welt aus
    }
}
 
 
                public class MyFirstJavaProgram {

                    /* Das erste Java Programm...
                        * ...gibt Hallo Welt auf der Konsole aus
                        */

                    public static void main(String []args) {
                        System.out.println("Hallo Welt"); // gibt Hallo Welt aus
                    }
                }
                

Bezeichner: MyFirstJavaProgram, main, String (String ist streng genommen kein Datentyp, sondern eine Klasse, auch wenn er in Java beinahe wie einer behandelt wird. Doch auch mehr hierzu später), args, System, out und println.

Literale

Konstante Ausdrücke werden als Literal bezeichnet. Dabei wird zwischen folgenden verschiedenen Typen von Literalen unterschieden:

Wenn wir nun noch einmal einen Blick auf das bereits verwendete Programm aus den vorherigen Unterkapiteln werfen, finden wir genau ein Literal: Das String-Literal "Hallo Welt".

 
01
02
03
04
05
06
07
08
09
10
public class MyFirstJavaProgram {
 
    /* Das erste Java Programm...
        * ...gibt Hallo Welt auf der Konsole aus
        */
 
    public static void main(String []args) {
        System.out.println("Hallo Welt"); // gibt Hallo Welt aus
    }
}
 
 
                public class MyFirstJavaProgram {

                    /* Das erste Java Programm...
                        * ...gibt Hallo Welt auf der Konsole aus
                        */

                    public static void main(String []args) {
                        System.out.println("Hallo Welt"); // gibt Hallo Welt aus
                    }
                }
                

Schlüsselwörter

Die Programmiersprache Java an sich, bzw. ihre Logik, besteht aus für sich reservierten Schlüsselwörtern, die sich aus diesem Grund auch nicht als Bezeichnername wählen lassen. Auch der Programmierer kann keine eigenen Schlüsselwörter definieren.

Wenn wir nun noch einmal einen Blick auf das bereits verwendete Programm aus den vorherigen Unterkapiteln werfen, finden wir genau ein Literal: Das String-Literal "Hallo Welt".

 
01
02
03
04
05
06
07
08
09
10
public class MyFirstJavaProgram {
 
    /* Das erste Java Programm...
        * ...gibt Hallo Welt auf der Konsole aus
        */
 
    public static void main(String []args) {
        System.out.println("Hallo Welt"); // gibt Hallo Welt aus
    }
}
 
 
                public class MyFirstJavaProgram {

                    /* Das erste Java Programm...
                        * ...gibt Hallo Welt auf der Konsole aus
                        */

                    public static void main(String []args) {
                        System.out.println("Hallo Welt"); // gibt Hallo Welt aus
                    }
                }
                

In der folgenden Tabelle sind Schlüsselwörter (Im Fall von true, false und null Literale) aufgeführt, die demnach nicht mehr als Bezeichnernamen verwendet werden dürfen:

abstract continue for new switch
assert default goto package synchronized
booelan do if private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while

Kommentare

Ein fundamental wichtiger Baustein von Programmiersprachen sind Kommentare. Sie ermöglichen dem Programmierer, seine Gedanken verständlich zu formulieren, sodass auch die Nachwelt und nach einiger Zeit er selbst noch verstehen kann, was sein Code eigentlich tut. Somit dienen sie einzig und allein dem Codeverständnis des Lesers und haben keinerlei Auswirkung auf das Programm. Insgesamt gibt es drei verschiedene Möglichkeiten in Java Kommentare zu schreiben:

Es folgt ein Code-Beispiel, in dem alle drei Kommentararten aufgeführt sind:

 
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
/*
 * Dieser Quellcode wurde am 27.09.2020 geschrieben
 */
/**
 * @author Matteo
 */
 
public class Main { // TODO: Rename
     
    // When I wrote this only God and I understood what I was doing
    // Now, God only knows
 
    public static void main(String[] args) {
        System.out.println("Hallo Welt"); // Gibt "Hallo Welt" aus
    }  
 
}
 
 
                /*
                * Dieser Quellcode wurde am 27.09.2020 geschrieben
                */
                /**
                * @author Matteo
                */

                public class Main { // TODO: Rename
                    
                    // When I wrote this only God and I understood what I was doing
                    // Now, God only knows

                    public static void main(String[] args) {
                        System.out.println("Hallo Welt"); // Gibt "Hallo Welt" aus
                    }   

                }