Java-Kurs: Erste Schritte

Willemers Informatik-Ecke

Das einzig seriöse Javabuch :-) Mehr...
Errata
Bei Amazon bestellen
2014-02-02

Zurück zu Java

Diese Seite umfasst die Sammlung meiner Notizen für die Erstellung meines Java-Buches. Diese wurden um Korrekturen, Ergänzungen, Beispiele und Aufgaben ergänzt und dann von Lektoren und Fachgutachtern korrigiert, bevor Sie als Buch veröffentlicht wurden. Mit der Zeit werde ich die Website korrigieren und ergänzen.

Programmierumgebung

Um Java zu programmieren, benötigen Sie einen Java-Compiler und eine Java-Umgebung. Die Umgebung benötigt auch jeder, der Java-Programme ausführen will. Diese nennt sich Java Runtime Environment (JRE). Den Java-Compiler und alles was dazu gehört, nennt sich Java Development Kit (JDK).

Wenn Sie ein glücklicher Linux-Benutzer sind, können Sie beides über das normale Repository Ihrer Distribution einrichten. Das läuft dann alles automatisch, sicher und auf Ihre Umgebung abgestimmt.

Wenn Sie noch Windows- oder Mac-Benutzer sind, können Sie beides von der Website der Firma Oracle kostenlos herunterladen.

Und wo wir gerade bei Kürzeln sind: JSE steht für Standard Edition, also die normale Programmierumgebung und JEE für Enterprise Edition, eine Umgebung für netzwerkweit verteilte Programmierung.

Ihre Java-Programme erstellen Sie mit einem Editor (nicht Word) und rufen dann den Compiler javac auf der Konsole auf.

javac Hello.java
Es entsteht eine Datei Hello.class. Diese kann durch den Aufruf mit dem Interpreter java ausgeführt werden.
java Hello
Nein, hier wird nicht .class angehängt! Sie können allerdings auch eine IDE verwenden. Die bekannteste dürfte Eclipse sein. Alternativ bietet sich NetBeans an. Diese IDE finden Sie auch auf der Website der Firma Oracle kostenlos zum Download.

Umgang mit Eclipse

Die Entwicklungsumgebung Eclipse kann bei Linux-Rechnern als Softwarepaket über die normalen Paketverwaltungsprogramme installiert werden. Dabei wird automatisch die passende JRE und JDK mitinstalliert.

Wer noch Windows oder Mac verwendet, kann sich Eclipse von der Website www.eclipse.org herunterladen, muss aber selbst darauf achten, dass er zuvor JDK und JRE von der Website der Firma Oracle herunterlädt und installiert.

Beim erstmaligen Start von Eclipse will es ein Arbeitsverzeichnis anlegen, das Eclipse Workspace nennt und schlägt dazu ein Verzeichnis vor.

Auf der Hauptseite bietet Eclipse unter anderem ein Tutorium an. Hier finden Sie vor allem Erläuterungen zu den Möglichkeiten von Eclipse. Ein Java-Kurs ist leider nicht darunter.

Ein neues Projekt

Sie können ein neues Java-Programm erzeugen, indem Sie ein Projekt anlegen. Dazu rufen Sie über das Hauptmenü File -> New -> Java Project auf. Es erscheint ein Dialog. Darin Project name der Name, den das Programm haben soll. Damit ist das Projekt beschrieben.

Nun brauchen Sie eine Klasse. Dazu rufen Sie wieder aus dem Hauptmenü File -> New -> Class auf. Es erscheint ein Dialog. Unter Source folder steht Hello/src. Das ist wunderbar und kann so bleiben. Die Hauptklasse für das Projekt sollte der Projektname sein. Also geben Sie bei Name einfach Hello ein. In diesem Fall möchten Sie bestimmt auch die "public static void main(String[] args)" erzeugt bekommen. Selbst dann, wenn Sie nicht genau wissen, was es ist. Erzeugen Sie den entspechenden Haken. Nun drücken Sie auf den Finish-Button.

Hello: Das erste Programm

Freundlicherweise hat Eclipse den Rahmen für Ihr erstes Programm erzeugt. An einer Stelle steht ein Kommentar mit TODO. Das soll eigentlich "to do" heißen und bedeutet, "noch zu erledigen". Hier schreiben Sie die Zeile aus dem unteren Listing ab.
public class Hello {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("Moin Munkbrarup!");
    }
}
Dieses Meisterwerk speichern Sie bitte. Dabei wird es Eclipse auch gleich übersetzen. Strg-S oder das kleine Disketten-Symbol führen dazu.

Nun wollen wir es ausführen: Im Baum links klicken Sie Hello.java mit der rechten Maustaste an und wählen Run As -> Java-Application. Nun erscheint in dem Fenster unterhalb des Programmcodes eine Zeile

Moin Munkbrarup!
Sollten Sie zu den wenigen Menschen gehören, die außerhalb von Munkbrarup wohnen, steht es Ihnen natürlich frei, eine andere Stadt zu grüßen.

Die Klasse und ihr Block

Das Listing, so nennt man den Quelltext eines Java-Programms, besteht aus einer Klasse. public class sagt, dass es eine öffentliche Klasse ist. Es folgt der Name der Klasse, hier Hello. Die geschweifte Klammer öffnet einen Block, der bis zur zugehörigen geschlossenen Klammer reicht. Da in der Folgezeile wiederum eine Klammer geöffnet wird, ist die zugehörige Klammer die zweite schließende Klammer, also die in der letzten Zeile.

Damit man die Zugehörigkeiten der Klammern besser erkennen kann, wird nach dem Öffnen der Klammer ein paar Leerzeichen eingerückt und mit dem Schließen einer Klammer wieder zurückgegangen. Das schreibt Java zwar nicht vor, hat sich aber als gute Übung eingebürgert.

Jedes Java-Programm besteht aus mindestens einer Klasse. Später werden Sie sehen, dass es auch noch mehr werden können. Der Dateiname und der Name der Klasse korrespondieren miteinander.

Kommentare

Wie bei jeder Programmiersprache können Sie Kommentare einfließen lassen, die dann nicht vom Compiler übernommen werden. Ein Kommentar beginnt mit der Kombination aus /* und wird solange vom Übersetzungsvorgang ignoriert, bis die Kombination */ erscheint. Ein solcher Kommentar kann über mehrere Zeilen geht.

Die zweite Kombination besteht aus zwei Schrägstrichen. Sie sorgen dafür, dass der Rest der Zeile für den Übersetzer nicht mehr relevant ist.

Die Methode main

Die nächste Zeile wird mit public static void eingeleitet. public kennen Sie schon. Es bedeutet, dass es öffentlich ist, also von jedem Teil des Programms zugreifbar ist. Eine Klasse ist es nicht, denn es fehlt das Wort class. Tatsächlich handelt es sich um eine Methode, die main heißt. Die Methode main ist die Hauptroutine des Programms. Sie darf nur einmal in der Hauptklasse existieren. Dieses "einmal" wird durch das Wort static ausgedrückt, auf das wir später noch zu sprechen kommen.

Das Wort void sagt aus, dass die Methode main keinen Rückgabewert hat. Sie erinnern sich vielleicht an die Funktionen aus dem Mathematikunterricht, wie beispielsweise die Sinusfunktion. Sie liefert aus dem übergebenen Winkel einen Funktionswert, eben den Sinuswert. Java-Methoden verhalten sich genauso. Vor der Definition einer Methode wird der Datentyp des Rückgabewert genannt. Der Begriff void ist ein Sonderfall. Diese Methode gibt nichts zurück.

Die Klammer, die auf main folgt ist rund und stellt darum keinen Block dar. Nein, es ist das Hauptmerkmal einer Methode. Was in der Klammer ist, beschreibt, welche Parameter die Methode erwartet. So wie Sie der Sinusfunktion den Winkel übergibt, erhalten Java-Methoden einen oder mehrere Parameter. Selbst wenn die Methode keinen Parameter erhalten soll: Die Klammern werden dennoch gesetzt.

Im Anschluss folgen wieder die wohlbekannten geschweiften Klammern, die besagen, wie groß der Block ist, der zur Methode gehört. Alles was im Block ist, wird ausgeführt, wenn die Methode aufgerufen wird.

Damit kommen wir zu der einzigen Zeile, die Sie selbst eingegeben haben. In den Anführungszeichen sehen Sie den Text, der später auf dem Bildschirm erscheint. Wenn man feststehende Texte angeben will, werden sie so in Anführungszeichen gesetzt. Man spricht von einer Zeichenkettenkonstanten. Diese Zeichenkette wird von einer Klammer umschlossen, die hinter dem Wort println steht. Sie ist der Parameter für die Methode println, deren Aufgabe die Ausgabe auf dem Bildschirm mit einem anschließenden Zeilenvorschub ist (print line - drucke Zeile). Der Anfang der Zeile sagt, dass println zu out gehört, welches wiederum zur System-Bibliothek gehört.

Zum Abschluss der Zeile steht ein Semikolon. Dieses Semikolon wird zum Abschluss jeder Anweisung von Java verlangt. Wenn Sie es weglassen, nörgelt der Compiler, weil er nicht weiß, wann der Befehl aufhört und wo der neue Befehl anfängt und weil er Sie für einen schlechten Programmierer hält.

Java rechnet

Sie können mit Java auch rechnen. Dazu ersetzen Sie den Gruß in den Anführungszeichen durch eine kleine Rechnung.
public class Hello {
	public static void main(String[] args) {
		System.out.println(12+3);
	}
}
Auch dieses Programm starten Sie durch Run. Als Ergebnis werden Sie eine 15 auf dem Bildschirm sehen. Neben dem Pluszeichen gibt es das Minuszeichen, den Stern für die Multiplikation und den Schrägstrich für eine Division.

Ersetzen Sie das Pluszeichen durch den Schrägstrich und Sie finden eine 4. Wunderbar. Wenn Sie nun noch die 12 durch eine 13 ersetzen, werden Sie feststellen, dass es bei der 4 bleibt. Das hat nichts damit zu tun, dass die 13 eine Unglückszahl ist, sondern dass standardmäßig ganzzahlig gerechnet wird.

Java kann auch mit Fließkommazahlen umgehen. Dazu müssen Sie nur mindestens einer der Zahlen eine Nachkommastelle anhängen. Allerdings verwendet Java nicht das Komma, sondern den im internationalen Bereich üblicheren Dezimalpunkt. Verwenden Sie also 13.0/3, dann erhalten Sie als Ergebnis 4.3333333.

ZeichenOperandenzahlBedeutung
+ unär positives Vorzeichen
- unär negatives Vorzeichen
+ binär Summe
- binär Differenz
* binär Produkt
/ binär Quotient
% binär Modulo (Rest)

Das Prozentzeichen steht für die Modulo-Rechnung. Wenn Sie 13 durch 4 teilen, ergibt sich 4 Rest 1. Das Ergebnis der Modulo-Rechnung ist also 1. Logischerweise wird die Modulo-Rechnung für ganzzahlige Werte berechnet.

Zurück zu Java


Homepage (C) Copyright 2011, 2014 Arnold Willemer