JShell to powłoka wiersza poleceń do uruchamiania kodu Java. We wcześniejszym artykule „Using JShell in Java 9 in NetBeans 9.0, Part 1” omawialiśmy uruchamianie JShell w NetBeans 9. Przetestowaliśmy kilka fragmentów kodu pod kątem importowania klas oraz jawnego tworzenia i używania zmiennych. W tym artykule kontynuacyjnym omówimy tworzenie i używanie zmiennych w sposób niejawny, wykonywanie porównań ciągów i uruchamianie instrukcji Java. Ten artykuł ma następujące sekcje:
- Deklarowanie i używanie zmiennych (ciąg dalszy)
- Porównanie ciągów
- Korzystanie z oświadczeń
- Resetowanie powłoki Java
- Wniosek
Deklarowanie i używanie zmiennych (ciąg dalszy)
W pierwszym z dwóch artykułów omówiliśmy jawne deklarowanie i używanie zmiennych. Następnie omówimy deklarowanie i niejawne używanie zmiennych.
Tworzenie zmiennej niejawnie
Niejawne tworzenie zmiennej i przechowywanie jej w sesji JShell to funkcja unikalna dla JShell, ponieważ plik kodu źródłowego Java nie obsługuje określania wyrażeń, które są niejawnie przechowywane jako zmienne. Jako przykład dodaj następujący fragment kodu, który jest tylko liczbą 1.
1
Zmienna zostaje utworzona niejawnie, jak pokazano na rysunku 1. Domyślnie zmienna utworzona niejawnie ma nazwę $x , w którym x to identyfikator zmiennej. Dodawanie 1 tworzy zmienną $1 , jak pokazano na rysunku 1, ale identyfikator zmiennej jest do pewnego stopnia arbitralny, ponieważ pierwszy wybór może być już używany przez inną zmienną.
Rysunek 1: Niejawne tworzenie zmiennej
Nowa zmienna $1 może zostać wywołany w JShell w celu wyświetlenia jego wartości, jak pokazano na rysunku 2.
Rysunek 2: Wywoływanie niejawnej zmiennej
Każde wyrażenie zwracające wartość jest przechowywane w zmiennej. Jako przykład, dodanie dwóch liczb tworzy zmienną pośrednio.
[5]-> 1+0 | $4 ==> 1
Niejawna zmienna może być wywoływana w JShell.
[6]-> $4 | $4 ==> 1
Zmienna niejawna może być używana w innym fragmencie kodu. Jako przykład dodaj dwie niejawne zmienne $1 i 4 USD i zostaje utworzona trzecia niejawna zmienna.
[7]-> $1+$4 | $8 ==> 2
Dane wyjściowe z poprzednich poleceń pokazano na rysunku 3.
Rysunek 3: Korzystanie ze zmiennych niejawnych
Wywoływanie stałych klas, takich jak Math.PI tworzy również zmienną niejawną, jak pokazano na rysunku 4.
Rysunek 4: Tworzenie niejawnej zmiennej przez wywołanie stałej klasy
Ciąg literał tworzy również zmienną niejawną (patrz rysunek 5). Utworzona niejawna zmienna może być użyta w innym fragmencie kodu; jako przykład, w System.out.println oświadczenie. Zmienna niejawna może być również wywoływana bezpośrednio.
Rysunek 5: Tworzenie niejawnej zmiennej z literału łańcuchowego
W razie potrzeby w JShell wykonywane są zawężanie i poszerzanie pierwotnych konwersji. Na przykład dodanie int z liczbą dziesiętną wykonuje konwersję rozszerzającą i tworzy niejawną zmienną z liczbą dziesiętną, jak pokazano na rysunku 6.
Rysunek 6: Wykonywanie rozszerzającej pierwotnej konwersji
Ciąg konkatenacja tworzy również niejawne zmienne. Jako przykład połącz dwa Ciąg literały.
"Hello"+" "+"JShell"
Zostaje utworzona niejawna zmienna. Dowolny ciąg metody klasowe, takie jak length() i substring(int,int) , można wywołać na niejawnie utworzonej zmiennej, jak pokazano na rysunku 7.
Rysunek 7: Wywoływanie metod na niejawnej zmiennej
W JShell można tworzyć zmienne dowolnego typu. Jako przykład utwórz zmienne typu char , pływak i podwójne oprócz 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
Natomiast /list polecenie wyświetla wszystkie fragmenty kodu, /vars polecenie w JShell wyświetla tylko zmienne.
[6]-> /vars | int a = 1 | int b = 5 | char c = 'a' | float f = 1.0 | double d = 5.0
Wcześniej omówiliśmy wyrażenie, w którym w JShell jest dokonywana niejawna konwersja pierwotna rozszerzająca. Zawężające i poszerzające pierwotne konwersje są również wykonywane na przypisanie. Jako przykład zawężania pierwotnej konwersji przypisz zmienną c typu znak int wartość.
[6]-> c=5;| c ==> '