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 kannst du dein Java Programm mit der main Methode ausführen

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

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

Java Objekte leben auf dem Heap

Java-Objekte-Heap

Java hat eine interne Speicherverwaltung. Eigentlich ist es nicht nur eine. Es sind mehrere.   Uns interessieren nur zwei. Methoden und lokale Variablen werden auf dem Stack verwaltet. Und die Speicherverwaltung für Java Objekte und den Instanzvariablen findet auf dem Heap statt.   Ja wieso braucht Java eigentlich zwei Speichersysteme?   Es ist ganz einfach. […]

Java lernen – 10 nützliche Tipps für Java Anfänger

Java Lernen Anfänger

Wenn du die Programmiersprache Java lernen möchtest, bist du hier prinzipiell erst einmal richtig. Und wenn du es wirklich ernst meinst und in die Java Programmierung einsteigen möchtest, solltest du auch meinen kostenlosen Java Kurs beanspruchen. Wenn du dabei bist, bekommst du: Eine Lektion pro Woche zu den Basics. Hier geht es um die ersten […]

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

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

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

Der wichtige Unterschied zwischen Java Methoden

Java Methoden Unterschied

Jetzt machen wir Nägel mit Köpfen. Dieses Sprichwort stammt aus den Anfängen des Industriezeitalters. Denn früher wurden Nägel nicht industriell, sondern per Hand gefertigt. Und da kam es schon einmal vor, dass versehentlich Nägel ohne Kopf produziert wurden. Was blieb ist das Sprichwort „Nägel mit Köpfen“ Und dieses steht sinngemäß für eine schnelle, qualitativ hochwertige […]

So verwendest du in Java try und catch Blöcke

Java try und catch

Ich bereue lieber die Dinge, die ich getan habe – als die Dinge, welche ich gar nicht erst versucht habe. Ja ich würde mich als den typischen „try-and-error-Menschen“ bezeichnen. Was ich will, probiere ich einfach aus und schaue dann erst was passiert. So etwas wie Pläne kenne ich eigentlich nicht. Und wenn ich mal einen […]