Java9 Repl(JShell)

REPL代表Read-Eval-Print Loop 。 使用JShell,Java具有REPL功能。 使用REPL,我們可以編寫和測試基於java的邏輯,而無需使用javac編譯並直接查看計算結果。

運行JShell

打開命令提示符並鍵入jshell,運行結果如下所示 -

Java9

查看JShell命令

當進入jshell命令之後,可鍵入/ help 來查看jshell中的幫助信息。

jshell> /help
.... 一大波幫助說明信息,此處省略 ...
  /vars [<名稱或 id>|-all|-start]
|       列出已聲明變量及其值
|  /methods [<名稱或 id>|-all|-start]
|       列出已聲明方法及其簽名
|  /types [<名稱或 id>|-all|-start]
|       列出已聲明的類型
|  /imports
|       列出導入的項
|  /exit
|       退出 jshell
|  /env [-class-path <路徑>] [-module-path <路徑>] [-add-modules <模塊>] ...
|       查看或更改評估上下文
|  /reset [-class-path <路徑>] [-module-path <路徑>] [-add-modules <模塊>]...
|       重啓 jshell
|  /reload [-restore] [-quiet] [-class-path <路徑>] [-module-path <路徑>]...
|       重置和重放相關歷史記錄 -- 當前歷史記錄或上一個歷史記錄 (-restore)
|  /history
|       您鍵入的內容的歷史記錄
|  /help [<command>|<subject>]
|       獲取 jshell 的相關信息
|  /set editor|start|feedback|mode|prompt|truncation|format ...
|       設置 jshell 配置信息
|  /? [<command>|<subject>]
|       獲取 jshell 的相關信息
|  /!
|       重新運行上一個片段
|  /<id>
|       按 id 重新運行片段
|  /-<n>
|       重新運行前面的第 n 個片段
|
|  有關詳細信息, 請鍵入 '/help', 後跟
|  命令或主題的名稱。
|  例如 '/help /list' 或 '/help intro'。主題:
|
|  intro
|       jshell 工具的簡介
|  shortcuts
|       片段和命令輸入提示, 信息訪問以及
|       自動代碼生成的按鍵說明
|  context
|       /env /reload 和 /reset 的評估上下文選項

運行JShell命令

輸入/imports命令並查看當前使用的導入。

jshell> /imports
|    import java.io.*
|    import java.math.*
|    import java.net.*
|    import java.nio.file.*
|    import java.util.*
|    import java.util.concurrent.*
|    import java.util.function.*
|    import java.util.prefs.*
|    import java.util.regex.*
|    import java.util.stream.*

jshell>

在JShell中運行計算

嘗試在JShell中運行簡單的計算。

jshell> 3+1
$1 ==> 4
jshell> 13%7
$2 ==> 6
jshell> $2
$2 ==> 6
jshell>

在JShell中創建和使用函數

創建一個函數doubled()用來返回其參數的兩倍的值。

jshell> int doubled(int i){ return i*2;}
|  created method doubled(int)
jshell> doubled(6)
$3 ==> 12
jshell>

退出JShell
鍵入/exit

jshell> /exit
| Goodbye