1. 程式人生 > >java9新特性-5-Java的REPL工具: jShell命令

java9新特性-5-Java的REPL工具: jShell命令

使用外部 基本使用 except 包含 gem 方式 輸入 列表 cimage

1.官方Feature

222: jshell: The Java Shell (Read-Eval-Print Loop)


2.產生背景

像Python 和 Scala 之類的語言早就有交互式編程環境 REPL (read - evaluate - print - loop)了,以交互式的方式對語句和表達式進行求值。開發者只需要輸入一些代碼,就可以在編譯前獲得對程序的反饋。而之前的Java版本要想執行代碼,必須創建文件、聲明類、提供測試方法方可實現。


3.設計理念

即寫即得、快速運行


4.實現目標

Java 9 中終於擁有了 REPL工具:jShell。利用jShell在沒有創建類的情況下直接聲明變量,計算表達式,執行語句。即開發時可以在命令行裏直接運行java的代碼,而無需創建Java文件,無需跟人解釋”public static void main(String[] args)”這句廢話。

jShell也可以從文件中加載語句或者將語句保存到文件中。

jShell也可以是tab鍵進行自動補全和自動添加分號。


5.使用舉例

調出jShell

技術分享圖片

獲取幫助

技術分享圖片

基本使用

技術分享圖片

技術分享圖片

Tips:在JShell 環境下,語句末尾的“;” 是可選的。但推薦還是最好加上。提高代碼可讀性。

導入指定的包

技術分享圖片

默認已經導入如下的所有包:(包含java.lang包)

技術分享圖片

只需按下 Tab 鍵,就能自動補全代碼

技術分享圖片

列出當前 session 裏所有有效的代碼片段

技術分享圖片

查看當前 session 下所有創建過的變量

技術分享圖片

查看當前 session 下所有創建過的方法

技術分享圖片

Tips:我們還可以重新定義相同方法名和參數列表的方法,即為對現有方法的修改(或覆蓋)。

使用外部代碼編輯器來編寫 Java 代碼

技術分享圖片

從外部文件加載源代碼

指定目錄下提供HelloWorld.java文件:

技術分享圖片

使用/open命令調用:

技術分享圖片

沒有受檢異常(編譯時異常)

技術分享圖片

說明:本來應該強迫我們捕獲一個IOException,但卻沒有出現。因為jShell在後臺為我們隱藏了。

退出jShell

技術分享圖片


作者:尚矽谷面試官宋紅康
鏈接:https://www.jianshu.com/p/3f8b1783b1d1
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

java9新特性-5-Java的REPL工具: jShell命令