Этот пост основан на моем посте « My Top Java 9 Features», в котором более подробно рассматриваются эти функции. Здесь мы покажем вам, как вы можете изучить jshell за пять минут и улучшить свой опыт разработки на Java 9.
Начиная
Предполагая, что вы загрузили и установили Java 9, вы можете запустить оболочку, набрав:
1
2
|
jshell |
Или если вы хотите многословно —
1
2
3
4
5
|
C:\jdk9TestGround>jshell -v | Welcome to JShell -- Version 9 | For an introduction type: /help intro jshell> |
переменные
Просто введите переменную, с или без точки с запятой —
1
2
3
|
jshell> int i = 1 ; i ==> 1 | created variable i : int |
Неназначенные значения автоматически присваиваются переменной, начинающейся с $ —
1
2
3
|
jshell> "Hello World" $ 1 ==> "Hello World" | created scratch variable $ 1 : String |
Это означает, что мы можем повторно использовать значение позже —
1
2
|
jshell> System.out.println($ 1 ); Hello World |
Потоки управления
Следующим шагом в jshell является использование потоков управления (для, если, пока,…). Мы можем сделать это, введя наше условие, используя return для каждой новой строки —
1
2
3
4
|
jshell> if ( "Hello World" .equals($ 1 )) { ...> System.out.println( "Woohoo my if condition works" ); ...> } Woohoo my if condition works |
Быстрый совет — использовать TAB для завершения кода.
методы
Мы можем объявить метод аналогично управлению потоком и нажать
для каждой новой строки —
1
2
3
4
|
jshell> String helloWorld() { ...> return "hello world" ; ...> } | created method helloWorld() |
Тогда назови это —
1
2
|
jshell> System.out.println(helloWorld()); hello world |
Мы также можем изменять методы в нашей оболочке и иметь методы, вызывающие методы, которые еще не определены —
1
2
3
4
5
|
jshell> String helloWorld() { ...> return forwardReferencing(); ...> } | modified method helloWorld(), however, it cannot be invoked until method forwardReferencing() is declared | update overwrote method helloWorld() |
Теперь мы исправим метод —
1
2
3
4
5
|
jshell> String forwardReferencing() { ...> return "forwardReferencing" ; ...> } | created method forwardReferencing() | update modified method helloWorld() |
Классы
Мы также можем определить классы в jshell —
1
2
3
4
5
6
|
jshell> class HelloWorld { ...> public String helloWorldClass() { ...> return "helloWorldClass" ; ...> } ...> } | created class HelloWorld |
И назначать и получать к ним доступ —
1
|
/env |
Полезные команды
Теперь у нас есть основы вот несколько быстрых команд —
табуляция | Завершение кода |
/ вары | список переменных в текущей оболочке |
/ методы | список методов в текущей оболочке |
/список | Все фрагменты кода в сеансе jshell |
/ импорт | Текущий импорт в оболочке |
/ методы | список методов в текущей оболочке |
/ типы | Текущие классы, определенные в оболочке, в приведенном выше случае мы увидим «класс HelloWorld» |
/редактировать | Позволяет редактировать вашу сессию в редакторе (по умолчанию JEditPad) |
/выход | закрытие сессии |
Опубликовано на Java Code Geeks с разрешения Мартина Фаррелла, партнера нашей программы JCG . См. Оригинальную статью здесь: Введение в виртуальную машину Java (JVM)
Мнения, высказанные участниками Java Code Geeks, являются их собственными. |