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

Java Vererbung – Die Hierarchien richtig planen

Java Vererbung Hierarchien

Java Vererbung hat nichts mit Biologie zu tun. Die Genetik besagt, dass bestimmte Merkmalsausprägungen von den Eltern auf die Kinder übergehen. Solche Merkmalsausprägungen sind: die Hautfarbe die Haarfarbe die spezifische Größe und weitere körperliche Merkmale. Und in Java – was ist da Vererbung? Lass es uns herausfinden. Was erwartet dich in diesem Beitrag? Zuerst schauen […]

Heap & Stack – Die Speicherverwaltung in Java

Java Speicher

Java nutzt eine interne Speicherverwaltung. Eigentlich sind es mehrere. Uns interessieren lediglich zwei. Da das Thema Speicherverwaltung recht umfangreich ist, habe ich dir im Folgenden einmal die wichtigsten Artikel zusammengestellt. Die zwei Speichersysteme von Java Java Methoden werden auf dem Stack gestapelt. Der Speicher auf dem Java Methoden zu Hause sind, nennt sich Stack Speicher. […]

Über das kurze Leben einer lokalen Variablen

Java Variable lokal

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 uns zuerst Klassen- und Instanzvariablen […]

Das Java Leben ist einfacher mit For-Schleife

Java For Schleife Aufbau

In einem anderen Artikeln habe ich bereits über Schleifen in Java gesprochen. In diesem Artikel möchte ich dir eine ganz besondere Schleife vorstellen. Warum ist diese so toll? Sie hat einen integrierten Schleifenzähler. Die Schleife zählt also bei jedem Durchlauf automatisch mit. Aber dazu gleich mehr…. Lass uns einmal so eine For Schleife anlegen.

Java Übung 19 – Zähle die Kommastellen

Java Übung Kommastellen Zählen

In dieser Java Übung möchte ich, dass du eine Methode zum Zählen von Kommastellen schreibst. Lege dazu eine Klasse „KommaZahl“ an. Diese Klasse enthält die statische Methode „zaehleKommaStellen“, welche eine Kommazahl als übergebenen Parameter erwartet.

Das Java Vererbung Konzept in einem Rollenspiel

Java ist eine objektorientierte Programmiersprache. Und das bedeutet nicht nur, dass du Objekte einer Java Klasse erzeugen kannst. Es bedeutet auch, dass Java Klassen von anderen Klassen erben können. Wieso das Ganze? Stell dir einmal ein Rollenspiel vor. Wie würdest du ein Rollenspiel entwerfen? In einem Rollenspiel gibt es magische Gegenstände. Zauberringe, Zauberstäbe, welche bei […]

So legst du Utility Klassen in Java an

Java Utility Klassen

Utility Java Klassen – was ist das? Man nennt diese auch Hilfsklassen von Java. Diese Utility Klassen sind Java Klassen, welche lediglich Methoden und Konstanten anbieten. Am Beispiel: Die Klasse Math ist so eine klassische Utility Klasse. Wozu braucht man solche Klassen? Diese Klassen sind so etwas wie ein Werkzeugkoffer für jedes Java Programm. Hier […]

So kannst du deine Java Methoden ausführen

Java Methoden ausführen

Du hast die ersten Java Methoden erstellt. Doch wie greifst du jetzt auf diese zu? Wie kannst du diese Methoden in einer anderen Klassen aufrufen? Welcher Unterschied, hinsichtlich des Methodenaufrufes, besteht eigentlich zwischen deinen Java Methoden? Diese Fragen möchte ich gern in diesem Beitrag beantworten. Gehen wir dazu in den Garten und schauen uns Blumen […]