V tomto tutoriálu se pomocí příkladů seznámíme s argumenty příkazového řádku Java.
Argumenty příkazového řádku v Javě nám umožňují předávat argumenty během provádění programu.
Jak název napovídá, argumenty jsou předávány příkazovým řádkem.
Příklad: Argumenty příkazového řádku
class Main ( public static void main(String() args) ( System.out.println("Command-Line arguments are"); // loop through all arguments for(String str: args) ( System.out.println(str); ) ) )
Pokusme se spustit tento program pomocí příkazového řádku.
1. Zkompilovat kód
javac Main.java
2. Spuštění kódu
java Main
Nyní předpokládejme, že chceme předat nějaké argumenty při spuštění programu, můžeme předat argumenty za názvem třídy. Například,
java Main apple ball cat
Zde jsou jablko, míč a kočka argumenty předávané do programu prostřednictvím příkazového řádku. Nyní získáme následující výstup.
Argumenty příkazového řádku jsou Apple Ball Cat
Ve výše uvedeném programu main()
zahrnuje metoda jako parametr pole řetězců s názvem args.
public static void main(String() args) (… )
Na String
pole ukládá všechny argumenty předány prostřednictvím příkazového řádku.
Poznámka : Argumenty jsou vždy uloženy jako řetězce a vždy odděleny mezerou .
Předávání číselných argumentů příkazového řádku
main()
Metoda každého Java programu přijímá pouze řetězcové argumenty. Z tohoto důvodu není možné předávat číselné argumenty prostřednictvím příkazového řádku.
Později však můžeme převést řetězcové argumenty na číselné hodnoty.
Příklad: Číselné argumenty příkazového řádku
class Main ( public static void main(String() args) ( for(String str: args) ( // convert into integer type int argument = Integer.parseInt(str); System.out.println("Argument in integer form: " + argument); ) ) )
Zkusme spustit program z příkazového řádku.
// compile the code javac Main.java // run the code java Main 11 23
Zde 11 a 23 jsou argumenty příkazového řádku. Nyní získáme následující výstup.
Argumenty v celočíselném tvaru 11 23
Ve výše uvedeném příkladu si všimněte řádku
int argument = Intege.parseInt(str);
Zde parseInt()
metoda Integer
třídy převádí řetězcový argument na celé číslo.
Stejně tak můžeme použít parseDouble()
i parseFloat()
metodu převést řetězec double
a float
resp.
Poznámka : Pokud argumenty nelze převést na zadanou číselnou hodnotu, NumberFormatException
dojde k výjimce s názvem .