Java9 Repl(JShell)
REPL代表Read-Eval-Print Loop 。 使用JShell,Java具有REPL
功能。 使用REPL,我們可以編寫和測試基於java的邏輯,而無需使用javac編譯並直接查看計算結果。
運行JShell
打開命令提示符並鍵入jshell
,運行結果如下所示 -
查看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