引入JDK官方的Summary:java
Provide an interactive tool to evaluate declarations, statements, and expressions of the Java programming language, together with an API so that other applications can leverage this functionality.算法
JShell是Java的REPL工具(Read-eval-print-loop):交互式解析器,一種命令行工具。它容許你無需使用類或者方法包裝來執行Java語句。shell
像Python和Scala之類的語言早就有交互式編程環境REPL了,以交互式的方式對語句和表達式進行求值。開發者只須要輸入一些代碼,就能夠在編譯前得到對程序的反饋。而以前的Java版本要想執行代碼,必須建立文件、聲明類、提供測試方法方可實現。數據庫
即寫即得,快速運行
express
進入JShell: 編程
幫助: 服務器
基本使用: 微信
Java表達式 JShell終端還能夠本身計算Java表達式。字符串鏈接、方法回調、算法,諸如此類 網絡
分號對於純語句是可選的: session
導入指定的包
向前引用 你在定義方法時能夠引用其餘方法或變量,且這些方法或變量僅會在一段時間後被定義
Tab鍵自動補全代碼
REPL網絡 使用JShell時,咱們不會受限於機器和網絡訪問,這帶來了一些有趣的機會。例如,想一想把它當作一個終端來與服務器交流,遠程鏈接到服務器而且從外面控制一些參數。另外一個選擇是查詢數據庫,這裏真的是有無限可能。
保存和加載工做空間
列出當前session中全部有效的代碼片斷
列出當前session中全部建立過的變量
列出當前session中全部建立過的方法
使用外部編輯器來編寫java代碼
/edit add
複製代碼
/open xxx.java
複製代碼
若是你一直擔憂受檢異常會毀掉你的REPL經歷,無需再擔憂,JShell在後臺爲你隱藏好了
/exit
複製代碼
JShell除了能夠做爲單獨的JDK工具,還能夠提供一個API,它能對外部調用開放全部的功能
你能夠從新聲明變量、方法或者類,而無需擔憂原始的聲明。一旦你這樣操做了,就會收到一個信息提示你發生了什麼,但除此以外一切照舊。
怎麼樣?是否是心動了?趕忙試試吧~