Blog

Java najnovšie verzie (Java 9): príkazový riadok JShell (2. časť)

Learn2Code tím - 21.03.2019 - Tipy a triky

Java príkazový riadok

JShell Command Line je nástroj, kde môžeme skúšať spúšťať kód bez toho, aby sme museli vytvoriť novú triedu s main metódou.

JShell spustíme z bin adresára, kde máme nainštalovanú javu jdk vo verzii 9 a viac. Pri učení sa preferuje použiť verbose mód jshellu, čo nám poskytne čo najviac spätnej väzby pri práci s konzolou.

jshell –v

Ak si spustil jshell bez –v môžeš jshell vyponúť s príkazom /exit a potom spustiť znovu s –v nastavením. Teraz môžeš zadávať výrazy. Prvý spôsob je zadeklarovať premennú s hodnotou a následne hodnotu vypísať:

Alebo môžeš rovno napísať výraz, ktorý sa vyhodnotí a výsledok sa zapíše do premennej, ktorá dostane poradové číslo.

Je možné deklarovať metódy. Pri písaní príkazov, ak jshell zistí, že príkaz nie je ukončený, napríklad si napísal kučeravú zátvorku a stlačíš enter, tak sa vytvorí nový riadok na ktorého začiatku budú špeciálne znaky ...> čo znamená, že pokračuješ v písaní kódu a výraz sa ešte nevyhodnotí.

Metódu potom voláš klasicky:

Ak by si chcel prepísať metódu, respektíve čo robí vo vnútri, tak ju vieš napísať znovu a ona sa prepíše a platná bude posledná napísaná. Je možné aj prepísať typ premennej. Ak na začiatku bude x číslo, tak neskôr môže byť String. 

Pod výpismi máme vždy aj poznámky o tom, čo sa deje na pozadí. Napríklad, že premenná x bola nahradená za String.

Môžeš napísať metódu, ktorá vo vnútri používa premenné alebo metódy, ktoré ešte neboli zadefinované. Fungovať budú až keď všetko zadefinuješ.

Príkazom /list si zobrazíš kód, ktorý si napísal. Každý vstup má číslo, čo predstavuje id vstupu. Tieto id slúžia aj pri výnimkách. Napíšme si príkaz, ktorý spadne a vypíše sa výnimka.

Po výpise /list zistíme čo znamenajú čísla vo výpise. Po prvé tam máme: at divide (#15:2), čo znamená, že chyba nastala na príkaze s id 15 a riadku 2 toho príkazu. Po druhé at (#16:1) je ďalšie miesto, kde sa metóda volala – klasický stack trace, ale s odkazom na /list výpis.

Jshell ponúka aj možnosti na doplnenie, keď stlačíme tab. Ak do konzoly napíšem Sy a stlačím tab, tak mi ponúkne možnosti. Potom ak napíšem System. a stlačím tab, tak mám ďalšie možnosti vypísané. A tak ďalej. 

Tu sa dostávame k tomu, že vieme používať klasické dostupné api. Ako napríklad String metódy. V konzole som napísal prázdny String bodku a stlačil tabulátor. 

Ak niektoré triedy nie sú dostupné, tak ich vieme importnúť. Pri písaní vieme typu stlačíme Shift + Tab a potom písmeno i, ak chceme importnúť. Potom máme možnosť urobiť nič, alebo importnúť. 

Do shellu vieme písať aj shell špecifické prkazy. Stretli sme sa už s /list. Existujú aj ďalšie, napríklad /methods na výpis dostupných metód, /vars na výpis dostupných premenných, alebo /list –all na výpis všetkého aj importov aj chybne zadaných príkazov.

Všetko, čo sme napísali, úspešne si vieme uložiť do súboru pomocou príkazu /save nazovSuboru.txt. Tento súbor je uložený v priečinku bin, kde sme spustili jshell, ak nezadáme inak. Znovu vieme tento program otvoriť pomocou /open a názva súboru. Aj pri týchto príkazoch funguje dopĺňanie po stlačení tabulátoru.

Je možné písať skratky príkazov, ak sú tie skratky unikátne. Jediný príkaz, ktorý začína na písmeno l je list, teda jemožné napísať /l. To isté platí aj pre príkazy pre /l ak dáme pomlčku a tab, tak dostanem možnosti. Príkaz, ktorý začína na a je len jeden tak môžem napísať /l –a namiesto /list –all.

Tento príkaz som spustil nad čistou novou jshell, tak si môžeme pozrieť, čo je importnuté ako default.

Je možné spraviť ešte nejaké nastavenia, ale tie nebudem preberať, ak ťa to zaujíma, môžeš si prezrieť kompletný tutoriál.


Ak sa ti článok páčil, tak napíš niečo do komentárov, poteší ma to. Zaujímaš sa o Javu? Skús jeden z kurzov na túto tému na www.learn2code.sk.


Logo facebook

Learn2Code tím

Učíme ľudí dizajnovať, robiť webstránky a programovať. Naše prezenčné kurzy nájdeš vo viacerých mestách na Slovensku a pomocou online kurzov sa môžeš vzdelávať z pohodlia domova.


Ako sa nepredávkovať návodmi

Tipy a triky

Tak. Rozhodol si sa naučiť programovať (na learn2code si správne!). Je jedno, či chceš byť Web Developer (FrontEnd, BackEnd), chceš sa vzdelávať v...

Java persistence – JPA, Hibernate, ORM

Tipy a triky

JPA je java persistence api špecifikácia. Na to, aby si mohol používať JPA v skutočnej aplikácii, potrebuješ implementáciu JPA. Buď použiješ servery,...

Manuálne vs. automatizované testovanie

Tipy a triky

Rád si v detstve všetko rozoberal, špekuloval a škodoradosť hrala v divadle tvojich ranných emócií prím? Si tu správne. Pretože presne to sú hlavné...