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

So erstellst du deine ersten Java Klassen mit Eclipse

Java Klassen sind Baupläne für Java Objekte. Und da Java eine objektorientierte Programmiersprache ist, sind Java Klassen somit ein elementarer Bestandteil. In diesem Beitrag möchte ich dir zeigen, wie du eine Java Klasse in Eclipse erstellen kannst. Ich möchte dir außerdem zeigen, was physikalisch in deinem Projekt passiert. Ganz zum Schluss zeige ich dir noch, […]

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

Ein Java Fenster erzeugen mit dem JFrame

Java-Fenster-erzeugen

Ein Java Fenster erzeugen mit Swing. Java Swing – was ist das? Zum Erstellen von grafischen Benutzeroberflächen, kurz GUI, bietet Java eine eigene Standardklasse an. Diese Klasse nennt sich Swing. Aus dieser Swing-Klasse heraus können Objekte erstellt werden. Diese Objekte lassen sich in vier verschiedene Kategorien einteilen. Fenster und Dialoge bilden das Grundgerüst einer grafischen […]

Java Binärzahl in Dezimalzahl umwandeln – So geht’s.

Java-Binärzahl-umrechnen

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 spielt die Zahl 10, als […]

So verwendest du den Java Oder Operator

Java Oder Operator

Kennst du das auch aus deiner Schulzeit? Du schreibst eine Klassenarbeit in irgendeinem Fach. Nehmen wir einfach mal an – Mathe. Jetzt bist gerade fertig mit deiner Arbeit. Und zu Hause wirst du gefragt: „Und wie lief es?“ Du antwortet:“ Ganz gut. Es wird bestimmt eine Eins oder eine Zwei.“ Drei oder vier Tage später […]

Java Übung 27 – Auf zur Mathe-Olympiade

Java Übung Mathe Olympiade

In dieser Java Übung möchte ich mit dir ein Programm erstellen, welches ein Mathematik-Test oder eine Mathe-Olympiade simuliert. Du kennst das vielleicht noch aus der Schule. Matheolympiade- Da wurden aus allen vier Grundrechenarten, Aufgaben formuliert. Die Schüler mussten diese Aufgaben lösen. Die Lehrer kontrollierten die Lösungen. Und der Schüler, welcher die wenigsten Fehler hatte – […]

Warum Java Kommentare immer ein Mittel der Kommunikation sind

Java Kommentare Kommunikation

Kennst Du die Bücherreihe „Miteinander reden“ von Schulz von Thun? Falls Du an der Uni warst oder bist, gehört dieses Buch zur Standardlektüre im Fach Schlüsselkompetenz. Denn ein Java Entwickler, welcher im Team arbeitet, muss klar und deutlich kommunizieren können. Und klar und deutlich heißt nicht, dass die Aussprache Deiner Worte verständlich sein soll. Nein […]

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