JShell je shell příkazového řádku pro spouštění kódu Java. V dřívějším článku „Using JShell in Java 9 in NetBeans 9.0, Part 1“, jsme diskutovali o spuštění JShell v NetBeans 9. Testovali jsme některé úryvky kódu pro import tříd a explicitní vytváření a používání proměnných. V tomto pokračování článku budeme diskutovat o vytváření a používání proměnných implicitně, provádění porovnávání řetězců a spouštění příkazů Java. Tento článek má následující sekce:
- Deklarování a používání proměnných (pokračování)
- Porovnání řetězců
- Používání příkazů
- Obnovení prostředí Java Shell
- Závěr
Deklarování a používání proměnných (pokračování)
V prvním ze dvou článků jsme diskutovali o explicitní deklaraci a používání proměnných. Dále probereme implicitní deklarování a používání proměnných.
Implicitní vytvoření proměnné
Implicitní vytvoření proměnné a její uložení v relaci JShell je funkce jedinečná pro JShell, protože soubor zdrojového kódu Java nepodporuje specifikování výrazů, které jsou implicitně uloženy jako proměnné. Jako příklad přidejte následující fragment kódu, který je pouze číslem 1.
1
Proměnná se vytvoří implicitně, jak je znázorněno na obrázku 1. Ve výchozím nastavení má implicitně vytvořená proměnná název $x , ve kterém x je identifikátor proměnné. Přidání 1 vytvoří proměnnou $1 , jak je znázorněno na obrázku 1, ale identifikátor proměnné je do určité míry libovolný, protože první volbu již může používat jiná proměnná.
Obrázek 1: Implicitní vytvoření proměnné
Nová proměnná $1 lze vyvolat v JShell pro výstup jeho hodnoty, jak je znázorněno na obrázku 2.
Obrázek 2: Vyvolání implicitní proměnné
Jakýkoli výraz, který dává hodnotu, je uložen v proměnné. Například přidání dvou čísel implicitně vytvoří proměnnou.
[5]-> 1+0 | $4 ==> 1
Implicitní proměnnou lze vyvolat v prostředí JShell.
[6]-> $4 | $4 ==> 1
Implicitní proměnnou lze použít v jiném fragmentu kódu. Jako příklad přidejte dvě implicitní proměnné $1 a 4 $ a vytvoří se třetí implicitní proměnná.
[7]-> $1+$4 | $8 ==> 2
Výstup z předchozích příkazů je znázorněn na obrázku 3.
Obrázek 3: Použití implicitních proměnných
Vyvolání konstant třídy, jako je Math.PI také vytvoří implicitní proměnnou, jak je znázorněno na obrázku 4.
Obrázek 4: Vytvoření implicitní proměnné vyvoláním konstanty třídy
A Řetězec literal také vytváří implicitní proměnnou (viz obrázek 5). Vytvořená implicitní proměnná může být použita v jiném fragmentu kódu; jako příklad v System.out.println prohlášení. Implicitní proměnnou lze také vyvolat přímo.
Obrázek 5: Vytvoření implicitní proměnné z řetězcového literálu
V případě potřeby se v JShell provádějí zužující a rozšiřující primitivní konverze. Například přidání int s desetinným číslem provede rozšiřující převod a vytvoří implicitní proměnnou s desetinným číslem, jak je znázorněno na obrázku 6.
Obrázek 6: Provádění rozšiřující primitivní konverze
Řetězec zřetězení také vytváří implicitní proměnné. Jako příklad zřetězte dva String literály.
"Hello"+" "+"JShell"
Vytvoří se implicitní proměnná. Jakýkoli z řetězců metody třídy, jako je length() a podřetězec(int,int) , lze vyvolat na implicitně vytvořené proměnné, jak je znázorněno na obrázku 7.
Obrázek 7: Vyvolání metod na implicitní proměnné
V JShellu lze vytvářet proměnné libovolného typu. Jako příklad vytvořte proměnné typu char , plovoucí a double kromě int typ.
[1]-> int a=1; | a ==> 1 [2]-> int b=5; | b ==> 5 [3]-> char c='a'; | c ==> 'a' [4]-> float f=1.0f; | f ==> 1.0 [5]-> double d=5.0d; | d ==> 5.0
Zatímco /list příkaz uvádí všechny úryvky kódu, /vars příkaz v JShellu uvádí pouze proměnné.
[6]-> /vars | int a = 1 | int b = 5 | char c = 'a' | float f = 1.0 | double d = 5.0
Dříve jsme diskutovali o výrazu, ve kterém se v JShell provádí implicitní rozšiřující primitivní konverze. Zužující a rozšiřující primitivní převody se také provádějí na zadání. Jako příklad zužující primitivní konverze přiřaďte proměnnou c typu char int hodnotu.
[6]-> c=5;| c ==> '