Programmargumente in Java
Du übergibst Wörter auf der Kommandozeile beim Programmstart und liest sie in main. In Flag.java behältst du die public Klasse Flag und den Parameter String[] args. Drucke im ersten Demo args[0]. Im zweiten Demo args.length, dann args[0]. Kompiliere mit javac Flag.java. Starte java Flag oak, damit das erste Wort nach dem Klassennamen oak ist. Der erste Bildschirm zeigt oak. Lass optionales Generics für spätere Seiten. Diese Lektion sind Kommandozeilenwörter in args, kein Scanner-Gespräch und kein Mini-Projekt-Label.
Lies das erste Wort nach dem Klassennamen
Öffne Flag.java. Behalte den public Klassennamen Flag. Lösche übrige Mini-Projekt-Box-Scanner-Demos, übrige Kompilier-Build-Drucke, übrige Recap-Summary-Zeilen und übrige Dice-Random-Würfe, wenn sie die Argument-Geschichte verdecken. Dieses Programm darf nicht auf Tastatur-Scanner-Input warten.
In Flag.main behältst du die Parameterliste als String[] args und druckst das erste Wort:
System.out.println(args[0]);
Aus dem Ordner mit Flag.java startest du javac Flag.java. Dann java Flag oak — nicht java Flag.java oak. Der Klassenname ist Flag. Das Wort oak ist das erste Programmargument. Es landet in args[0]. Der Bildschirm zeigt oak.
public class Flag {
public static void main(String[] args) {
System.out.println(args[0]);
}
}
Gehe den Start einmal durch. javac schreibt Flag.class. java Flag oak lädt die Klasse und füllt args mit einem Element: "oak". main startet. args[0] ist "oak". println schreibt oak. Nichts fragt item:. Nichts druckt mug 4. Nichts druckt ok von Build.
Sage dir die Anfängerregel beim Befehl: Wörter nach dem Klassennamen werden zu args. Index 0 ist das erste Wort. Erfinde keine Generics-Demos auf dieser Seite. Optionales Generics wartet nach dem Kernpfad. Tippe nicht nur java Flag und lies dann args[0] — das leere Array hat kein erstes Wort und der Start kann werfen.
Wenn du noch mug 4 von einer übrigen Box-Datei siehst, wechsle zu Flag.java, kompiliere und starte java Flag oak. Wenn javac über den Klassennamen meckert, behalte public class Flag passend zu Flag.java.
Zähle die Wörter, dann drucke das erste
Ein Argument beweist args[0]. Ein zweites Demo zeigt args.length zusammen mit dem ersten Wort. Behalte dieselbe public Klasse Flag. Drucke zwei Zeilen:
System.out.println(args.length);
System.out.println(args[0]);
Kompiliere erneut mit javac Flag.java. Starte java Flag oak pine. Der Bildschirm zeigt 2, dann oak. Die Länge ist 2, weil zwei Wörter dem Klassennamen folgen. Das erste Wort ist weiter oak. Das zweite Wort pine sitzt in args[1], dieses Demo druckt es aber nicht.
Wenn du java Flag oak bei diesem Zweizeilen-Demo startest, zeigt der Bildschirm 1, dann oak. Die Länge folgt, wie viele Wörter du nach Flag getippt hast.
public class Flag {
public static void main(String[] args) {
System.out.println(args.length);
System.out.println(args[0]);
}
}
Kompiliere mit javac Flag.java und starte java Flag oak pine noch einmal. Gehe den Start einmal durch. args.length ist 2. args[0] ist "oak". Die Ausgaben schreiben diese zwei Zeilen. Nichts wartet auf Scanner. Nichts verbindet mug und 4.
Behalte die zwei Demos als zwei Lehrformen. Zuerst ein Argument drucken. Dann Länge plus erstes Wort. Beide teilen denselben Klassennamen und dieselbe Idee: Wörter nach java Flag füllen args.
Wenn du java Flag.java oak tippst, nutzt du die falsche Startform für diesen Kursweg. Behalte java Flag plus Wörter. Wenn du nach einer Änderung vergisst zu kompilieren, kann eine alte .class eine alte Druckform zeigen — kompiliere wieder, dieselbe Kompilier-Gewohnheit.
args ist nicht Scanner und nicht Mini-Projekt
Das Mini-Projekt bat dich, Antworten zu tippen, während das Programm wartete. Programmargumente verlangen, Wörter beim Start zu übergeben. Scanner liest von System.in, nachdem der Prozess läuft. args ist schon gefüllt, bevor main startet. Mische diese zwei Input-Stile heute nicht in einer Anfängerdatei.
oak ist nur ein Lehrwort. Kein Random-Seed und keine Summary-Map-Zeile. Wenn ein übriges Box-Demo noch bei item: wartet, macht diese Datei Mini-Projekt-Arbeit. Wechsle zu Flag und übergib oak auf der Kommandozeile.
Ohne mindestens ein Wort schlägt das Lesen von args[0] fehl. Mit Wörtern starten Indizes bei 0. args.length sagt, wie viele Wörter übergeben wurden. Behalte diese drei Fakten zusammen.
Kernpfad-Checkpoint
Du hast schon Klassen mit main gebaut, mit javac kompiliert, mit java gestartet, Werte gespeichert, mit if entschieden, Schleifen gelaufen, Methoden aufgerufen, Objekte und Listen genutzt, Fehler gefangen, Dateien gelesen und Vererbung geformt. Das Mini-Projekt hat zwei getippte Antworten zu mug 4 verbunden. Programmargumente zeigen einen anderen Weg, ein Programm zu füttern: Wörter auf der Startzeile.
Diese Seite beendet den Kern-Java-Pfad in diesem Kurs. Optionale Seiten wie Generics kommen danach, wenn du willst. Sie sind nicht nötig, um den Kernpfad zu beenden. Behandle diese Argument-Lektion nicht als Ort, optionale Themen zu erfinden.
Behalte eine public Flag. Behalte String[] args auf main. Behalte den Startbefehl als java Flag plus Wörter. Halte Mini-Projekt-Scanner-Demos von dieser Seite fern, wenn du Argumente übst.
Ordnerchecks vor dem Kernende
Liste den Ordner nach erfolgreichem Kompilieren. Du solltest Flag.java und Flag.class zusammen sehen. Bearbeite den Quelltext, speichere, starte javac Flag.java, dann java Flag oak oder java Flag oak pine. Fehlende .class heißt zuerst kompilieren. Falscher Ordner heißt, der Starter findet Flag nicht.
Wenn der Bildschirm nichts zeigt, prüfe, ob main noch druckt. Wenn der Start wirft, weil args leer ist, füge ein Wort nach dem Klassennamen hinzu. Wenn zwei public Klassen eine Datei teilen, behalte nur Flag public.
Klebe keine Box-Scanner-Prompts in Flag, um die Seite zu «bereichern». Baue hier nicht Builds ok-Drucke neu. Die Lehraufgabe sind nur Kommandozeilenwörter.
Vor optionalem Generics
Du kannst public Klasse Flag behalten, String[] args in main lesen, args[0] für java Flag oak drucken, args.length dann args[0] für java Flag oak pine, mit javac Flag.java kompilieren und ohne .java-Endung auf dem Klassennamen starten. Der Kernpfad endet auf dieser Seite. Optionales Generics wartet, wenn du später weitermachst.
Behalte die Flag-Demos als klares Argument-Paar. Halte Box-Mini-Projekt-Dateien von dieser Seite fern beim Üben von args. Halte Build-Kompilier-Demos von dieser Seite fern beim Üben von args. Halte Generics-Arbeit von dieser Seite fern bis zu einer optionalen Lektion. Diese Gewohnheiten sind der Checkpoint, bevor du den Kernpfad verlässt. Wenn der Ein-Wort-Start oak zeigt oder der Zwei-Wort-Start 2 dann oak, hat Programmargumente seinen Job für diese Lektion erledigt und der Kern-Java-Pfad ist komplett.
Ein letzter Gang durch den Ordner: eine public Flag, String[] args auf main, kein Scanner-Warten, kein Random, kein LocalDate, kompilieren dann mit Wörtern nach dem Klassennamen starten. Starte javac Flag.java und java Flag oak noch einmal. Wenn der Bildschirm weiter oak zeigt, ist die Programmargumente-Form solide und der Kurs kann den Kern als fertig markieren, während optionale Seiten später bleiben. Bevorzuge eine klare Argument-Gewohnheit pro Durchgang, damit jeder Pass dieselbe Karte lehrt.
🧠 Testen Sie Ihr Wissen
Testen Sie Ihr Wissen
Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen
📝 Anweisungen
- Lesen Sie jede Frage sorgfältig
- Wählen Sie die beste Antwort für jede Frage
- Sie können das Quiz so oft wiederholen, wie Sie möchten
- Ihr Fortschritt wird oben angezeigt