# Práce s parametry příkazové řádky (programu) - Mnoho programů je možné spustit s **jedním či více parametry příkazové řádky** (též **parametry programu**) - Např. většina programů pro práci s různými soubory (obrázky, videa, textové soubory) umožňuje zadat jako parametr soubor, který mají po spuštění otevřít ### Zadání parametrů příkazové řádky - Parametry se zadávají při spuštění programu **za příkaz, který program spouští** - Parametrů může být více - Jednotlivé parametry jsou odděleny mezerou - ```java balík.Třída parametr1 parametr2 …``` - Např. ```java VypisParametruProgramu -v 128``` - Parametry s mezerou či mezerami - Pokud je parametrem řetězec, který obsahuje jednu nebo více mezer, je nutné parametr uzavřít do uvozovek (jinak by byl chápán jako více parametrů) - Např. ```java VypisParametruProgramu 128 "Program Files"``` ### Předání parametrů příkazové řádky do programu - S parametry zadanými při spuštění programu lze jednoduše pracovat - Protože metoda ```main()``` je vstupní bod programu, jsou parametry příkazové řádky předány jako skutečný parametr této metody - Jsou dostupné ve formálním parametru ```args``` - Jedná se o pole řetězců - Řetězce mohou obsahovat libovolné znaky (tedy čísla, písmena, interpunkci, bílé znaky) - Jednotlivé parametry (řetězce) jsou v jednotlivých buňkách pole - Délka pole odpovídá počtu parametrů - Pokud je program spuštěn bez parametrů (tj. všechny dosud předvedené programy), je ```args``` pole délky 0 (nikoliv ```null```) ### Zpracování parametrů příkazové řádky - Parametry mohou mít libovolný význam, typicky se jedná o název souboru, přepínače či jiné (např. číselné) hodnoty - Parametry jsou však vždy předány jako řetězce - Pokud se jedná o čísla (sloužící k nějakému výpočtu), je potřeba převod z řetězce na číslo