Skip to main content

So kannst du ein Java Programm mit der main Methode starten, ausführen


Java-Programm-starten-content

Auf zum ersten Java Programm.

Vielleicht fragst du dich jetzt gerade:
Na, was haben wir denn bisher gemacht?
War das etwa kein Java Programm?

Wir haben bisher nur eine Klasse „Human“ für ein zuküntfiges Mensch-Objekt erstellt.

Diesem Objekt haben wir eine Instanzvariable, namens size (Größe) zugeordnet.

Und wir haben eine Instanzmethode, namens grow (wachsen) geschrieben.

Wir haben bisher noch kein ausführbares Java Programm entwickelt.

Das soll sich jetzt ändern.

Wie wird ein Java Programm, gestartet ausgeführt oder aufgerufen

Um ein irgendein Java Programm auszuführen, musst du in deiner Klasse eine sogenannte main Methode implementieren.

Und diese sieht so aus:


public class Human {
int size=156;//size in centimeter


void grow(int growthRate){
size=size+growthRate;
}
public static void main (String [] args){

}
}

Diese Methode musst du dir einfach merken.

Denn diese brauchst du bei jedem Programmstart.

Diese Methode signalisiert dem Compiler. Hier geht es los.

Untersuchen wir kurz die Methode.

Java-Programm-main-Methode-public

Die Methode beginnt mit dem Keywort public.

Public bedeutet, dass diese Methode öffentlich ist.

Was heißt das?

Diese Methode kann aus allen Klassen innerhalb deines Projektes aufgerufen werden.

Angenommen du implementierst neben der Menschen-Klasse noch eine Tierklasse.

Public bedeutet, dass du in der Tierklasse auf diese Methode zugreifen kannst, obwohl diese zur Zeit in der Menschenklasse steht.

Das zweite Keywort static bedeutet: Es handelt sich um keine Instanzmethode.

Diese Methode hat nichts aber auch gar nichts mit der Menschenklasse zu tun.

Außer, dass diese Methode zufällig gerade in dieser steht.

Java-Programm-main-Methode-static

Static bedeutet, dass es sich nicht um eine Instanzmethode handelt


Das Keyword void kennst du schon. Es bedeutet, dass diese Methode keinen Rückgabewert erfordert.

Dann folgt der Methodennamen main.

Und jetzt die Parameterliste. Die Methode erwartet einen String Parameter, namens args.
Wie auch Integer ist String ein Datentyp.

Java-Programm-main-Methode-String

String ist ein Datentyp. Du kennst schon den Datentyp Integer aus der Instanzmethode und der Variablen


Aber hinter diesem Datentyp String stehen noch diese beiden Klammern.

Diese symbolisieren, dass hier ein sogenanntes Array übergeben wird.

Das bedeutet: Die Methode kann nicht nur einen Parameter entgegen nehmen, sondern mehrere.

Den Namen des Datentypen, „args“, kannst du sogar umschreiben.
Du kannst ihn „argumente“ ,“datenmenge“ oder wie auch immer nennen.

Dann kommt der Methodenrumpf. Das erkennst du an der öffnenden Klammer.

Und in diesem Rumpf wird jetzt die Programmlogik implementiert.

Da bis jetzt noch nichts im Rumpf steht, würde rein gar nichts passieren.

Aber Probieren geht über Studieren.

Klicke einfach oben auf den Button „Run“ und dein Java Programm wird ausgeführt.

Eclipse-run

Klicke auf Run und das Programm wird ausgeführt. Es kann sein, dass Eclipse dich noch auffordert zu speichern. Dann bestätige einfach mit Okay.


Und……

Es passiert nichts.

Klar, es müssen noch Anweisungen in die Methode.

Denn wichtig ist die Tatsache, dass diese Methode lediglich das Programm startet.

Mehr tut sie nicht.

Erst die Anweisungen in der Methode sorgen dafür, dass irgendetwas Wichtiges passiert.

Und jetzt packen wir mal so eine Anweisung in die Main-Methode.

Hier mal gleich der Code:


public class Human {
int size=156;//size in centimeter


void grow(int growthRate){
size=size+growthRate;
}
public static void main (String [] args){
System.out.println();
}
}

Achte auf die richtige Klammerung der Klasse.
Achte auf die richtige Klammerung der beiden Methoden.
Und achte auf das Semikolon nach der Anweisung.

Die Anweisung System.out.println() führt dazu, dass etwas auf der Konsole ausgegeben wird.

Nimm diese Anweisung bitte erst einmal so hin.
Am besten, du kopierst sie dir.

Noch besser du lernst diese auswendig.

Ja, das meine ich erst. Denn diese Anweisung ist wirklich richtig wichtig. Dazu später mehr.

Schreibe irgendetwas in die Klammer der Println() Anweisung.
Achte darauf, dass du den Wert in der Klammer in Anführungsstriche setzt.


public class Human {
int size=156;//size in centimeter


void grow(int growthRate){
size=size+growthRate;
}
public static void main (String [] args){
System.out.println("das ist ein Testlauf");
}
}

Danach klicke oben auf den Button „Run“.

Der Text in der Klammer wird jetzt auf der Konsole ausgegeben.

Die Konsole befindet sich unter deinem Editor. Falls sie dort nicht sein sollte, kannst du hier nachlesen, wie du dies änderst.

Eclipse-Console-Ausgabe

Auf der Konsole wird jetzt der Text ausgegeben


Du siehst, dass du irgendetwas in die Klammer schreiben kannst.
Das hat nichts mit unserem Mensch-Objekt zu tun.
Du kannst willkürlich wählen, was die Konsole zurück gibt.

Das liegt einfach daran, dass es eine Klassenmethode (Keywort: static) und keine Instanzmethode ist.

Und weil diese Methode mal so gar nichts mit unserem Menschen und mit diesem Objekt zu tun hat, solltest du diese auch nicht in dieser Klasse halten.

Warum nicht?

  • Es ist viel übersichtlicher diese separat zu führen.
  • So kannst du diese bequem über den Package Explorer wählen und ausführen.
  • Du musst dann nicht wissen: „Wo war nochmal meine Main Methode“
  • Die Main Methode ist statisch. Sie hat somit nichts mit dem Objekt zu tun. Statische Methoden sollten generell in separaten Klassen stehen.

Also lagern wir die Main Methode aus.

Lege eine neue Klasse an und diese Klasse nennst du „ProgrammStart“ oder „HumanStart“.

Wichtig ist, dass du auf den ersten Blick siehst: „Ah ja da ist meine Startmethode“

Beim Anlegen der Klasse siehst du schon, dass du die main Methode gleich dazu bekommst.

Markiere dazu das Optionsfeld und die Main Methode wird automatisch implementiert.

Java-Klasse-Main-Methode-implementieren

Setze den Haken und Eclipse implementiert für dich die main Methode


Geht doch fix, oder?

Falls du die main Methode nachträglich in eine Klasse einfügen willst, kannst du entweder den Code abschreiben oder schreibst main und drückst die Tastenkombination: Str+Leertaste.

In der Liste kannst du die main Methode einfach auswählen und Eclipse implementiert diese.

Main-Methode-Tastenkombination

Oder schreibe main und drücke die Tastenkombination Steuerung+Leertaste


Ging doch auch fix oder?

Jetzt fehlt noch die Anweisung innerhalb des Methodenrumpfes.

Also wieder die Println() Anweisung hinein und erneut starten.

Ja du solltest die Anweisung System.out.println() auswendig lernen.


public class ProgrammStart{
public static void main (String [] args){
System.out.println("das ist ein Testlauf");
}
}

Wie gehabt:
Alles was du jetzt zwischen die Klammern schreibst, wird ausgegeben.

Wenn du jetzt das Programm ausführst erscheint wiederum deine Konsolen-Ausgabe.

Und weil die main-Methode und die System.out.println-Anweisung so ein starkes Team sind, brauchst du diese auch zum Testen deines Java Programmes

Denn immer wenn du eine neue Methode schreibst, testest du diese.

Und du testest diese per Konsolen-Ausgabe.

Zusammenfassung:

  • Willst du ein Java Programm ausführen, brauchst du an irgendeiner Stelle die main Methode.
  • Die main Methode ist eine Klassenmethode. Dies erkennst du am Keyword static.
  • Da es eine Klassenmethode ist, hat sie nichts mit dem Objekt zu tun.
    Daher solltest du die main Methode in eine separate Klasse auslagern.

Ähnliche Beiträge

So kannst du Konstanten in Java Programmen anlegen und nutzen

java programmierung konstanten anlegen und nutzen

Java Konstanten – was kann man sich darunter vorstellen? Du kennst Konstanten in der Mathematik. Die Kreiszahl Pi ist so eine konstante Zahl. Diese Zahl ändert sich niemals. Sie beträgt immer rund 3,141592. In der Physik gelten die Lichtgeschwindigkeit, der Erdradius oder der absolute Nullpunkt als konstant. Selbst die Geschwindigkeit […]

So kannst du in Java eine Binärzahl in eine Dezimalzahl umwandeln

java programmierung binärzahl in dezimalzahl umwandeln

Erinnerst du dich? In einer der letzten Beiträge haben wir uns die Zusammenhänge zwischen dem dualen und dem dezimalen Zahlensystem angeschaut. Aber wir haben noch keine Java Binärzahl in eine Dezimalzahl verwandelt. Zumindestens nicht praktisch…. Stattdessen…. Haben wir festgestellt, dass beide Zahlensysteme im Grunde genommen sehr ähnlich sind. Beim Dezimalsystem […]

Namenskonventionen bei der Java Programmierung

java-programmierung-namenskonvention-lowercasecamelcase

Beiderjavaprogrammierungsolltestduaufdierichtigenamensvergabeachten. indennnamengebendeinenjavaprogrammeinegrundlegendestruktur. Was sagen dir die beiden oberen Sätze? Häh? Da steht: Bei der Java Programmierung solltest du auf die richtige Namensvergabe achten. Denn Namen geben deinem Java Programm eine grundlegende Struktur. Jede Sprache braucht Regeln. Diese Regeln, wie Grammatik oder Rechtschreibung geben der Sprache eine Struktur. Jeder Leser, welcher […]

So nutzt du Methoden aus der Java String Klasse

java programmierung methoden java string klasse

In einen der letzten Beiträge haben wir darüber gesprochen, dass Java Strings – Objekte sind. Dass Strings in allen Programmen äußerst häufig vorkommen Und dass sich deshalb Referenzvariablen String-Objekte im String Pool teilen. Das Konzept hinter dem String-Pool ist die Teilung der Ressourcen. Und das bedeutet: Weniger Objekte – mehr […]

So funktioniert die Java Konsoleneingabe über den Scanner

java programmierung konsoleneingabe scanner

Es wird Zeit für die erste Java Konsoleneingabe. Und diese Eingaben machst du über den Java Scanner. Was ist das? Der Scanner ist eine vorgefertigte Java Klasse, welche Java mit seiner API anbietet. Das heißt du musst nichts selbst erschaffen. Du musst nur wissen, wie du darauf zugreifst. Erst einmal […]

Zwei smarte Möglichkeiten eine Java Zufallszahl zu erzeugen

java zufallszahl anlegen erzeugen

Java Zufallszahl – Wieso? In der Java Programmierung benötigst du immer wieder einmal Zufallszahlen. Du möchtest deine Software mit Daten testen und dir keine Zahlen ausdenken. Du benötigst Stichproben, welche ein reales Verhalten simulieren. Du hast ein Spiel entworfen und die Akteure sollen mit zufälligen aber unterschiedlichen Größen, Rüstungsleveln usw. […]

Java Anfänger Übung: Hello World

Java-Übung-Hello-World

Alles beginnt mit „Hello World“. Sämtliche Java Bücher beginnen mit diesem ersten Beispiel. Auch die Java Übungen sollen mit diesem ersten Programm starten. Definiere eine Klasse „Hello World“. Implementiere die Main Methode. Die Main Methode soll bei Programmaufruf die Bildschirmanzeige „Hallo Welt“ zurückgeben. Die Lösung zur Java Übung „Hallo Welt“ […]

So kannst du spielend Java Programmierung lernen

java programmierung lernen

Ich lernte die Java Programmierung auf die klassische Art. Ich kaufte mir das erste Buch und los ging es. „Jetzt wirst du Java lernen“ – sagte ich zu mir. Ich war relativ schnell ziemlich frustriert, denn irgendwie fehlten mir ein paar Zusammenhänge. Kennst du das? Du hast ein Wissensfetzen und […]

So solltest du Kommentare im Java Programm einsetzen

java programmierung kommentare

Bei der Java Programmierung sind Kommentare mitunter genauso wichtig wie der eigentliche Code. Denn ein guter Kommentar zeigt dir sofort, was mit dem Code gemeint ist, was dieser bewirkt und was sich der Entwickler dabei dachte. Wie werden Kommentare in Java gesetzt? Die Kommentare werden in Eclipse immer grün dargestellt. […]

Java Konsolenausgaben mit formatierten Zahlen

java programmierung konsolenausgabe mit formatierten zahlen

Java Konsolenausgaben erzeugst du mit der System.out.println()-Anweisung. Dies ist relativ einfach. Aber es ist mitunter nicht ganz praktisch. Und zwar immer dann, wenn Zahlen im Spiel sind. Die Zahlen welche dann auf deiner Java Konsole erscheinen, sind unformatiert. Sie haben zu viele Kommastellen. Oder für eine bessere Darstellung benötigst du […]

Syntax, Semantik und Lexikalik in der Java Programmierung

java programmierung lexikalik syntax semantik

Java ist eine Programmiersprache. Und wie jede andere Programmiersprache ist auch Java, lediglich eine künstliche Sprache.   Normalerweise bieten künstliche Projekte immer jede Menge Spielraum für Eigenkreationen. Bei der Programmierung ist dies nicht ganz so. Denn Programmiersprachen sind auch immer sehr exakt.   Jede Programmiersprache und auch jede gesprochene Sprache […]

So sorgt Java Polymorphie für besseren Code und mehr Möglichkeiten

java programmierung polymorphie code möglichkeiten

Polymorphie ist das Herzstück jeder objektorientierten Sprache. Nicht nur in Java – auch in Python, Javascript und in anderen Sprachen. Aber was bedeutet Polymorphie eigentlich? Polymorphie oder auch Polymorphismus genannt, kommt aus dem Griechischen. Es bedeutet Vielgestaltigkeit. Etwas freier übersetzt, kannst du es auch als Facettenreichtum bezeichnen. Im Grunde genommen […]

Unterschied zwischen Klassenvariable und Instanzvariable im Java Programm

unterschied klassenvariable instanzvariable java programmierung

Bei der Java Programmierung unterscheidet man drei Arten von Variablen. Als erste Gruppe sind die lokalen Variablen zu nennen. Auf diese gehe ich in einem separaten Artikel ein. Mich interessieren die zwei anderen Variablentypen. Zum einen existieren Klassenvariablen. Und dann sind da noch die Instanzvariablen. Wo liegt der Unterschied zwischen […]

So funktioniert der Java Programmstart mit Argumenten-Übergabe

java programmierung programmstart argumente

Um ein Java Programm starten zu können, benötigst du immer die main-Methode. Das Programm startet immer genau an dieser Stelle. Alle lokalen Variablen, welche du in der Main Methode anlegst, kannst du dann im Programm nutzen. Auch alle Methoden, welche du innerhalb des Methodenrumpfes der main-Methode aufrust, werden ausgeführt. Was […]

Lokale Variablen im Java Programm: Lebensdauer und Nutzung

lokale variablen im java programm

Lass uns über die Lebensdauer einer lokalen Variablen sprechen. Warum ausgerechnet die Lebensdauer? Alle Java Variablen, unterscheiden sich in folgenden Punkten: wo diese deklariert werden können, wie du diese aufrufen kannst, welchen Bereich diese abdecken, und Ihre Lebensdauer Und eine lokale Java Variable hat eine relativ kurze Lebensdauer. Schauen wir […]

Die 5 verschiedenen Zahlensysteme in der Java Programmierung

java programmierung zahlensysteme

Java Zahlensysteme – Was soll das? In sämtlichen Programmiersprachen werden Zahlen in Variablen abgespeichert. Wenn du dir die einzelnen primitiven Datentypen in Java einmal anschaust – wirst du feststellen – dass die Masse der Datentypen Zahlen annehmen und speichern können. Zahlen und die Mathematik dahinter spielen in der Programmierung eine […]

Die sechs Bestandteile aller Java Methoden: Aufbau und Hintergründe

java programmierung methoden aufbau bestandteile

Java Methoden hauchen deinem Java Programm Leben ein. Ohne eine Methode würde deine Java Klasse ein starres Konstrukt sein. Deine Objekte hätten Eigenschaften. Aber sie könnten nichts machen. Und das wäre eine trostlose Welt. Java Methoden sorgen also dafür, dass Objekte interagieren. Methoden bestehen aus bestimmten Bausteinen. Und diese Bausteine […]

So kannst du Java installieren

java-installieren

Bevor du loslegst und deine ersten Java Programme schreibst, benötigst du die entsprechende Arbeitsumgebung. Du solltest also Java installieren. Und diese Arbeitsumgebung beinhaltet dann Bibliotheken für die einzelnen Java-Standard-Klassen, Dateien um deine Programme auszuführen. Dateien um deine Programme zu packen, Logische Verzeichnisstrukturen