Java für Anfänger

Mein erstes Programm in Java

Zuletzt aktualisiert am 3. März 2019 von Michael Lossagk , 8 Min  • 

1. Einleitung


Viele Leute haben mich gefragt, ob ich nicht eine Serie starten kann, bei der ich das Programmieren Schritt für Schritt vorstelle. Genau das möchte ich mit diesem Post nachholen. Ich werde ein simples Programm in Java schreiben und präsentiere die einzelnen Schritte. Um das zu verstehen sind keinerlei Programmierkenntnisse notwendig. Was lediglich notwenig ist, ist die Vertrautheit mit den grundlegenden Funktionsweisen von Computern. Das bedeutet, du solltest in der Lage sein Programme zu installieren und Befehle auf der Kommandozeile zu starten.

2. Installation von Java


Damit wir mit Java programmieren können müssen wir zunächst das JDK installieren. JDK steht für Java Development Kit und ist eine Sammlung von Tools um mit Java programmieren zu können. Auf technische Details des JDK werde ich in späteren Posts eingehen. Für den Moment reicht es, dass wir uns im Klaren sind, dass wir das JDK brauchen um Java Code schreiben und kompilieren zu können.

Das JDK kann hier heruntergeladen bzw. kann je nach System folgendermaßen installiert werden:

# macOS
brew install java # falls homebrew installiert sein sollte

# Linux
# Debian
apt-get install java-1.8.0-openjdk
# Red Hat Enterprise Linux (RHEL), CentOS, Fedora
yum install java-1.8.0-openjdk

# Windows
Gehe auf oracle.com und installiere das neuste JDK für Windows

Nach der Installation sollten wir auf der Kommandozeile die Befehle javac und java ausführen können:

# Java Compiler
javac

# Die Ausgabe sollte in etwa folgendermaßen aussehen:
[email protected] ~/Sourcecode/ $ javac
Usage: javac <options> <source files>
where possible options include:
  @<filename>                  Read options and filenames from file
  -Akey[=value]                Options to pass to annotation processors
...

und

# Java
java

# Die Ausgabe sollte in etwa folgendermaßen aussehen:
[email protected] ~/Sourcecode/ $ java
Verwendung: java [Optionen] <mainclass> [args...]
           (zur Ausführung einer Klasse)
   oder  java [Optionen] -jar <jarfile> [args...]
...

3. Mein erstes Programm in Java


Sobald die Installation abgeschlossen ist, können wir damit beginnen unser erstes Programm zu schreiben. Hierzu erstellen wir zunächst eine Textdatei mit der Dateiendung .java. Prinzipiell kann diese Datei einen beliebigen Namen haben, jedoch ist es guter Stil, dass der Name der Datei gleich dem Namen der Klasse in der Datei ist. Eine Klasse in Java ist ein umgebendes Konstrukt, welches alles anderen Elemente wie Methoden und Variablen enthält. Java ist eine objektorientierte Programmiersprache und einfach gesagt entspricht jede Klasse einem Objekt. Ich möchte an dieser Stelle nicht zu weit nach vorne greifen. Wir merken uns einfach: Eine .java Datei braucht eine Klasse und diese heißt genauso wie der Dateiname wobei die Groß und Kleinschreibung beachtet werden muss, das bedeutet HelloWorld == HelloWorld ist richtig, wobei HelloWorld == HELLOWorld falsch ist. Hier ein Beispiel:

// Dateiname: HelloWorld.java
class HelloWorld {}

Wir haben nun eine Datei mit dem Namen HelloWorld.java und dem obigen Inhalt. Wir man sehen kann ist eine Klasse in Java ist einfach erstellt. Wir schreiben ein Signalwort oder auch Keyword class und den gewünschten Klassennamen dahinter. Da eine Klasse ein umgebendes Element ist brauchen wir noch die öffnende und schließende geschweifte Klammer {}. Derzeit ist die Klasse leer und unser Programm würde so nicht funktionieren, daher brauchen wir noch eine Funktion innerhalb der Klasse und zwar die main() Funktion. Wir fügen die Main Funktion der Klasse hinzu indem wir folgendens Schreiben:

class HelloWorld {
    public static void main(String[] args){}
}

Das sieht schon etwas komplizierter aus, oder? Aber auch das ist kein Problem. Die main Funktion ist in Java sehr wichtig und markiert den Einstiegspunkt eines Programms. Das bedeutet, immer wenn ein Java Programm gestartet wird werden zunächst die Anweisungen in dieser Funktion ausgeführt. Ihr fragt euch sicher was die ganzen Wörter vor dem Wort main und auch innerhalb der Klammern () bedeuten. Die Wörter sind Keywords in Java und nennt man modifier (hier sind das public und static) und Rückgebewerte der Funktion (in diesem Fall void). Innerhalb der Klammern stehen der Typ (String[]) und der Name der Funktionsparameter (args). Diese Angaben sollen uns an dieser Stelle nicht weiter stören und ich werde in weiteren Posts gesondert darauf eingehen. Für den Moment reicht es aus zu wissen, dass ohne diese Angaben das Programm nicht funktionieren würde, da sonst die Main Funktion nicht eindeutig identifiziert und gefunden werden könnte. Und wie ich bereits geschrieben habe ist die Main Funktion für den Start eines Java Programms von großer Wichtigkeit, daher müssen diese Angaben gemacht werden.

Ähnlich wie eine Klasse in Java ist auch eine Funktion ein umschließendes Element. In diesem Fall ist die main Funktion leer, daher schreiben wir auch hier die öffnende und schließende geschweifte Klammer {}. Die Funktion darf leer sein und das Programm würde so, wie es im Beispiel beschrieben ist funktionieren, allerdings nichts ausgeben. Da wir aber eine Ausgabe haben möchten ergänzen wir den Code folgendermaßen:

class HelloWorld {
    public static void main(String[] args){
        System.out.println("Hello World!");
    }
}

Um einen Text in Java auf dem Bildschirm anzuzeigen nutzen wir die Methode println. Diese Methode erwartet einen Text als Übergabewert, den wir in Anführungsstrichen (“”) hineinschreiben, in diesem Fall “Hello World!”. Damit Java die Methode finden kann müssen wir bestimmen wo diese zu finden ist. In diesem Fall müssen wir dazu System.out. davor schreiben. Einfach gesagt greifen wir hier auf interne Java Bibliotheken zu, die uns alles mitliefern, damit wir eine Ausgabe auf dem Bildschirm erzeugen können. Auch hier sollten wir nicht groß darüber nachdenken warum genau wir das so schreiben müssen, sondern das so für den Moment einfach akzeptieren. Dieser Punkt wird ebenso, wie die Aufklärung, warum wir Modifier brauchen in zukünftigen Posts erklärt.

4. Kompilieren und Ausführen


Unser Programm ist nun fertig und kann gestartet werden. Nu ja, fast. Wir müssen die Textdatei zunächst in maschinenlesbaren Code umwandeln. Dies geschieht mit Hilfe eines Compilers. Das JDK liefert einen solchen Compiler mit (javac) welchen wir nun folgendermaßen nutzen:

Zunächst navigieren wir auf der Kommandozeile zu dem Verzeichnis in welchem sich unsere Java Datei HelloWorld.java befindet. Dann führen wir folgende Anweisung aus:

javac HelloWorld.java

Als Ergebnis erhalten wir im gleichen Verzeichnis wie die Textdatei HelloWorld.java eine Class Datei HelloWorld.class. Class Dateien sind maschinenlesbare Dateien und enthalten Bytecode. Dieser Bytecode ist nur in einer Java virtuellen Maschine (JVM) lauffähig. Damit wir das Programm nun starten können müssen wir die Datei mit der JVM öffnen. Hierzu geben wir folgenden Befehl ein:

java HelloWorld

Zu beachten ist hier, dass wir beim obigen Befehl die Endung .class weglassen. Wenn alles wie erwartet funktioniert sollten wir die folgende Ausgabe auf dem Bildschirm sehen:

Hello World!

Wenn Du es bis hierher geschafft hast, dann herzlichen Glückwunsch! Du hast soeben Dein erstes Programm in Java geschrieben und erfolgreich gestartet.

Probiere es aus (wenn es mit Chrome nicht funktioniert, dann erlaube Third Party Cookies oder nutze einen anderen Browser):

Dem aufmerksamen Leser fällt auf, dass in dem Beispiel von https://repl.it die Hauptklasse Main.java statt HelloWorld.java heißt. Es ist in diesem Tool vorgegeben, dass sich die main Methode in der Main Klasse befinden muss. Dies sollte uns an dieser Stelle jedoch nicht weiter stören. Spiel ein bisschen herum und modifiziere deinen Code entsprechend, damit du beide Versionen zu Laufen bringst.

5. Fragen


Du hast jetzt gelernt, wie man ein Programm in Java schreibt und solltest die folgenden Fragen beantworten können:

  • Was ist das JDK und wofür steht die Abkürzung?
  • Was ist die JVM und wofür steht die Abkürzung?
  • Wie unterscheiden sich JDK und JVM?
  • Was ist eine .class Datei?
  • Was ist eine Klasse in Java?
  • Warum brauche ich main() Funktion?
  • Wie kompiliere ich eine Datei in maschinenlesbaren Code?
  • Was genau ist Bytecode?

6. Zusammenfassung


In diesem Tutorial habe ich gezeigt, wie man ein simples Programm in Java schreibt. Es wurde hierbei gezeigt, wie eine Java Klasse aussehen muss und wie die grobe Struktur ist. Danach haben wir die Datei kompiliert und ausgeführt.

Die passenden Code Beispiele findest du in meinem GitLab Repository. Falls du weitere Informationen zum Thema Java und Programmieren erfahren möchtest kann ich dir dieses Buch empfehlen.


Michael Lossagk
Michael Lossagk
Coding Enthusiast
Founder @ TechDiffuse

Vielleicht gefällt dir auch


Share this: