Skip to main content

So kannst du ein Java Programm starten und Argumente übergeben

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 ist aber vor der main-Methode.
Ist es möglich dem Programm vor dem Start schon Argumente mitzugeben, welche die main-Methode verarbeiten kann?

Lass es uns herausfinden.

Werfen wir einen Blick auf die main-Methode

Die main-Methode besitzt, wie jede andere Methode einen Kopf und einen Rumpf.


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

}

Und im Methodenkopf befindet sich eine Parameterliste.
Allen Methoden, welche einen Parameter erwarten, muss dieser Parameter beim Aufruf übergeben werden.

Wieso eigentlich nicht der main-Methode?
Oder stecken hier Argumente drin und wir sehen sie nicht.

Schauen wir uns die Parameterliste genauer an.
String[] args

Genau genommen, kannst du sagen…..
Es handelt sich um eine Parameterliste, welche ein String Array erwartet.

Und diese lokale Variable, welche dann den Verweis zum String-Array speichert, nennt sich „args“.
Nun weißt du auch schon, dass dieser Name vollkommen willkürlich sein kein.


public class ProgrammStartArgumente {
	
	
	/*
	 * Main Methode mit Variable "hinzUndKunz" in der Parameterliste 
	 */
	public static void main(String[] hinzUndKunz) {
		
	}

}

Du kannst diesen Parameter „argumente“, „vornamen“ oder auch „hinzUndKunz“ nennen.
Es spielt keine Rolle.

Die Variable, welche auf dieses String Array zeigt ist lokal.
Und weil diese lokal ist, kannst du außerhalb der Methode nicht auf diese zugreifen.

Java Programm starten args

Also was steckt drin?

Da die Variable „args“ oder wie immer du sie nennst, einen Verweis auf ein Array darstellt, kannst du es auch so behandeln.

Zuerst die Länge.
Lass uns die Anzahl der Elemente des Arrays herausfinden.

Jedes Array hat eine Länge.
Und diese Länge wird in der Variable „length“ gespeichert.

Das heißt du:

  1. Schreibst den Namen deiner Referenzvariablen „args“ oder wie immer du sie nennst.
  2. Setzt den Punkt und leitest die Punktnotation ein.
  3. Dann setzt du die Variable dahinter.

Und wenn du das Ganze in eine System.out.println()-Anweisung einbindest, dann bekommst du die Länge per Bildschirmausgabe.
Beachte, dass dies nur innerhalb der main-Methode funktioniert.
Args existiert außerhalb der Methode nicht.

Also dann..


public class ProgrammStartArgumente {

	public static void main(String[] args) {
		System.out.println(args.length); //Die Länge des Argumentes als Bildschirmausgabe
		
	}

}

Klicke auf „Run“.
Und welche Länge wird dir zurückgegeben.

Wie erwartet ist die Länge 0.
Klar – bis jetzt haben wir dem Programm noch keine Argumente übergeben.

Lass uns der main-Methode zum Programmstart Argumente übergeben.

Und so geht’s.
Beim Ausführen des Programmes klickst du immer auf „Run“.
Direkt neben dem Button befindet sich ein kleiner Pfeil.
Klick einmal auf diesen.

Java Programm starten Run Konfiguration

Und dann wähle „Run Configurations…“.
Java Programm starten Run Configurations

Es öffnet sich ein neues Fenster.
In diesem befinden sich links deine Klassen.
Java Programm starten Klassen im Projekt

Und rechts kannst du Optionen festlegen.
Klicke einmal auf den Reiter „Arguments“.
Java Programm starten Reiter Arguments

Hier kannst du die Programmstart-Argumente eingeben.
Java Programm starten Argumente eingeben

Nachdem du deine Argumente eingeben hast, klicke auf „Apply“.
Java Programm starten Argumente übernehmen

Dein Argument wurde jetzt übernommen.
Du kannst jetzt entweder dieses Fenster schließen.
Klicke dazu auf Close.
Java Programm starten Fenster schließen

Oder du schließt dieses Fenster und führst gleichzeitig das Programm aus.
Klicke dazu auf „Run“.

Wenn du jetzt das Programm startest, dann wird die Länge 1 zurückgeben.


public class ProgrammStartArgumente {

	public static void main(String[] args) {
		System.out.println(args.length); //Die Länge des Argumentes als Bildschirmausgabe
		
	}

}

Und du kannst dir den Inhalt des Faches anzeigen lassen, wie bei jedem anderen Array auch.


public class ProgrammStartArgumente {

	public static void main(String[] args) {
		System.out.println(args.length); //Die Länge des Argumentes als Bildschirmausgabe
		System.out.println(args[0]); //Inhalt des Arrays an der Stelle 0
	}
}

Zusammenfassung:

  • Die Parameterliste der main-Methode erwartet ein String-Array.
  • Diesem String Array kannst du zum Programmstart Argumente übergeben und somit das Array füllen.
  • Und dann kannst du dieses Array, wie jedes andere Array behandeln.

Ähnliche Beiträge

Nutze das Keyword this für deine Java Konstruktoren

Java konstruktoren this

Es ist gemein. Wahrscheinlich hast den Beitrag zu den lokalen Variablen gelesen. Vielleicht hast du auch den Artikeln zum Anlegen und Überladen von Java Konstruktoren gelesen. Und wenn du die beschriebene Inhalte selbst ausprobiert hast…… Dann hast du dir wahrscheinlich sehr viele lokale Variablennamen für die Parameterliste ausdenken müssen.

Java Übung 31: Speichere deine Würfe im Array

Java Übung Array Würfelspiel

In dieser Java Übung soll ein Würfelspiel simuliert werden. Lege eine Klasse namens, Würfelspiel an. Diese Klasse enthält eine statische Methode, namens würfeln(). Diese Methode erwartet einen Parameter vom Datentyp Integer, namens „anzahlWuerfe“. Diese Variable/Parameter repräsentiert die Anzahl der Würfe. Nachdem der Methode die Anzahl der Würfe übergeben wurde, soll die Methode Zufallszahlen zwischen 1 […]

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. […]

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

Java Übung 25 – Simuliere eine Gelddruckmaschine

Java Übung Gelddruckmaschine

In dieser Java Übung geht es um Schleifen. Und zwar möchte ich, dass du eine virtuelle Geldruckmaschine erstellst. Was meine ich damit? Du gibst in der Konsole einen x-beliebigen Betrag ein und das Programm gibt dir virtuelle Geldscheine zurück. Ein Beispiel: Du gibst die Zahl 400 ein. Dann liefert dir das Programm 2 x 200 […]

Von Java Klassen zum Java Programm – Der Programmstart

Java Klassen ausführen

In den letzten Beiträgen hast du gelernt, wie Java Klassen erstellt werden und aufgebaut sind. In diesem Beitrag geht es um den Programmstart. Ich will dir zeigen, was nötig ist, dass du ein Java Programm ausführen kannst. Und ich zeige dir außerdem, wie du eine Startklasse in einem x-beliebigen Javaprogramm anlegst. Wie auch schon zuvor, […]

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 […]

So kannst du in den Java Klassen Attribute anlegen

Java Klassen Attribute

Die bisherigen Java Klassen in unserem Einführungsbeispiel besitzen noch keine Attribute. Das ändern wir und legen diese jetzt an. In diesem Beitrag erfährst du: Warum Variablen in deinen Klassen eine entscheidende Rolle spielen. Was es bedeutet eine Variable zu deklarieren. Wo du Attribute in den Java Klassen anlegen darfst und wo nicht. Wie du durch […]

So implementierst du Instanzmethoden in deine Java Klasse

Java Instanzmethoden

In einen der letzten Beiträge habe ich dir gezeigt, wie du eine Klasse anlegen kannst. Ich habe die Klasse „Mensch“ oder „Human“ angelegt und wir haben die erste Instanzvariable implementiert. Dein Code sollte jetzt so aussehen: public class Human { int size=156;//size in centimeter } In diesem Beitrag werde ich dir zeigen, wie du Java […]