Skip to main content

So kannst du dein Java Programm mit der main Methode ausführen


Java Programm starten

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.

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.


Static bedeutet, dass es sich nicht um eine Instanzmethode handelt

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.


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

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.


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.

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.


Auf der Konsole wird jetzt der Text ausgegeben

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.


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

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.

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

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.

Im nächsten Beitrag zeige ich dir endlich, wie du ein Menschobjekt erzeugen kannst.
Bevor du jetzt zum nächsten Beitrag wechselst …. Denke an deine Kontrollfragen

Na, welche Kontrollfragen hast du zu diesem Artikel.
Schreib mir diese unter diesem Beitrag.


Ähnliche Beiträge

Java Vererbung:
Die 3 Schablonen für deine Java Objekte

Java Vererbung Beispiel

Im letzten Beitrag habe ich dir das Java Vererbung Konzept an einem Beispiel vorgestellt. In dem Beispiel-Rollenspiel gab es Klassen zu Helden und Superhelden. Ich habe dir die Vererbungshierarchien theoretisch erläutert. Jetzt geht es ans Praktische. In diesen Beitrag lernst du: Wie du bestehende Java Klassen erweiterst Wie du Objekte aus den erweiterten Klassen erstellen […]

Lassen wir Java rechnen – Die Rechenoperationen für Variablen

Java rechnen

Ich liebe Mathe. In der Biographie „Der Mann, der die Zahlen liebte“, stellt Paul Hoffmann das Mathematikgenie Paul Erdös vor. Erdös war eines der größten Genies des 20 Jahrhunderts. Er arbeitete mit zahlreichen Wissenschaftlern zusammen und verfasste durchschnittlich mehr Publikationen im Jahr, als andere Mathematiker im ganzen Leben. Da Erdös sich mit sehr vielen Theoremen […]

So kannst du Eclipse installieren

Eclipse installieren

Das Schöne an Eclipse ist, es läuft auf sämtlichen Betriebssystemen. Eclipse wird einfach auf der Webseite des Herstellers herunter geladen und kann dann installiert werden. Dabei stehen dir verschiedene Versionen zur Verfügung.

Zwei smarte Möglichkeiten eine Java Zufallszahl zu erzeugen

Java Zufallszahl

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. auftreten. Die Einsatzmöglichkeiten für Zufallszahlen […]

Java Exklusives Oder – So nutzt du den Xor Operator

Java exklusives oder

In diesem Beitrag möchte ich dir den Xor Operator von Java vorstellen. Dieser Operator wird auch als ausschließendes oder exklusives Oder bezeichnet. Ein Beispiel: Was wilst du heute zum Mittag essen: Fleisch oder Fisch? Auf diese Frage gibt es nur eine Antwort. Es ist entweder Fisch oder Fleisch. Niemals beides. Das Eine schließt das andere […]

3 Möglichkeiten – Java Strings verketten und zusammenfügen

Java Strings verketten

Kennst du dieses Relikt längst vergangener Tage? Ein Brief. Ja früher einmal war es üblich, Briefe zu schreiben. Lange bevor es Smartphones oder Email gab. Man stelle sich einmal vor…. Die Leute mussten sich hinsetzen mit einem Blatt und einem Stift – und richtig schreiben. Nein nicht tippen – schreiben. 🙂 Grausame Welt, oder? Aber […]

Java Übung 26 – Das erste kleine Java Spiel

Java Übung Zahlenraten

In dieser Java Übung geht es darum ein kleines Java-Spiel zu erstellen. Und zwar Zahlen raten. Was kannst du dir darunter vorstellen? Du gibst einen bestimmten Wertebereich an. Zum Beispiel 0 bis 100. Und das Java Programm erstellt eine Zufallszahl in diesem Bereich. Dann fordert dich das Programm auf, die Zahl zu raten. Du gibst […]

Eine Java Konsoleneingabe machst du über den 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 musst du einen Scanner anlegen. […]