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 Strings landen im String Constant Pool

Java-Strings-Pool

Du kennst das. Es ist abends. Du sitzt gemütlich vor dem Fernseher. Das Smartphone bimmelt. Kein Anruf. Nein – Eine Nachricht. Du liest die Nachricht sofort und antwortest darauf. Minuten später bekommst du die nächste Nachricht. Und auch auf diese antwortest du. Im Laufe des Abends entsteht daraus eine nette kleine Konversation. Und eh du […]

So nutzt du das Java Keyword public

Java Keyword public

Java Programme bestehen aus Java Klassen. Und der Zugriff auf eine Java Klasse sollte nach außen immer gewährleistet sein. Was bedeutet das? Du solltest in jeder Klasse die Möglichkeit haben, ein Objekt einer anderen Klasse anzulegen. Gerade durch diese Möglichkeit macht doch das ganze Klassenkonstrukt erst Sinn.

So einfach lassen sich Java Strings umkehren

Java Strings umkehren

Kennst du noch das Lied „ANNA“ von Freundeskreis? Da hieß es: Du bist von hinten, wie von vorne A-N-N-A. Solche Namen oder Wörter, welche von hinten nach vorne gelesen – die gleiche Bedeutung haben, nennt man Palindrome. Anna, Ehe oder Ebbe sind recht kurze Palindrome. Aber auch längere zusammengesetzte Palindrome kennt die deutsche Sprache: Regallager […]

So kannst du in Java Und Verknüpfung anlegen und auswerten

Java Und

In Java stehen dir eine Menge Operatoren zur Verfügung. Einer dieser Operatoren ist der Und-Operator. Dies ist ein logischer Operator, da dieser sogenannte Wahrheitswerte mit einander verknüpft. Also…. Was erwartet dich in diesem Beitrag? Zuerst möchte ich dir die Aussagenlogik hinter dem Und-Operator zeigen. Also wann sind Aussagen wahr und wann sind diese falsch. Dann […]

Ende vom Java Blog?

Falls du hier schon länger dabei bist, wird dir aufgefallen sein – dass kaum noch Beiträge veröffentlicht werden. Das tut mir wirklich leid und dafür möchte ich mich auch entschuldigen. Ich weiß, dass Einige unter Euch den Java-Blog wirklich lieben. Aber es ist verdammt schwierig so ein aufwendiges Thema – stilvoll, unterhaltend und methodisch umzusetzen. […]

So nutzt du Methoden aus der Java String Klasse

Java Strings Methoden

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 Speicher Mehr Speicher – bessere […]

8 Java Datentypen, die du kennen solltest

Java Datentypen

Java Datentypen Ich gebe zu, ich hasse dieses Thema. Denn es ist eigentlich nichts weiter als graue Theorie. Dennoch müssen wir dieses Thema behandeln. Um schnell in das Thema zu kommen, stelle ich dir eine Übersicht aller primitiven Datentypen zur Verfügung. Wieso primitive? Es gibt außer den primitiven Datentypen, noch Referenztypen. Und diese Referenztypen sind […]

Java Übung 24 – So kannst du Kommazahlen runden

Java Übung runden

In dieser Java Übung möchte ich mit dir Zahlen runden. Ich bitte dich deshalb: Erstelle eine Klasse „RundenUebung“. Lege dann eine statische Methode rundeZahl() an. Diese erwartet zwei Parameter. Parameter 1 ist die Kommazahl, welche gerundet werden soll. Als zweiten Parameter wird eine ganze Zahl übergeben, welche die Nachkommastelle – bis auf welche letztlich gerundet […]