當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
【Java】JShell工具上手即用
生活随笔
收集整理的這篇文章主要介紹了
【Java】JShell工具上手即用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 前言
- 介紹JShell
- Windows環境下JShell啟動與退出
- JShell基本使用全攻略
- JShell的一些命令
前言
很早就裝了JDK9,因為有模塊化,想嘗嘗鮮,不想卻被JShell吸引過去。
不得不說,至少對于我個人,JShell都是一個非常便捷、高效的工具。
介紹JShell
JShell提供了一個交互式環境,允許快速、方便地嘗試使用Java代碼。JShell實現了所謂的“讀取-執行-打印”循環(REPL)。使用這個機制,會提示用戶輸入一段代碼。接著讀取并執行它。然后JShell顯示與代碼相關的結果。接下來JShell會提示用戶輸入下一段代碼,繼續處理(如循環)。在JShell中,輸入的每個代碼段都被稱為片段。
理解JShell的關鍵是使用它不需要輸入完整的Java程序。每個輸入的代碼片段都能在輸入的同時執行,這是可能的,因為JShell會自動處理與Java程序相關的許多信息,這允許用戶只考慮具體功能,而不需要編寫完整的程序。因此,JShell在初學Java的時候顯得非常有用。
當然,JShell也可以供有經驗的程序員使用。因為JShell存儲了狀態信息,所以可以在JShell中輸入多行代碼段,并運行它們。因此需要對某個概念建立起原型的時候,JShell是非常有用的,因為它允許以交互方式嘗試使用代碼,而不需要開發、編譯完整的程序。
Windows環境下JShell啟動與退出
打開cmd,按照如下操作:
注意退出不能輸入\exit:
JShell基本使用全攻略
- 輸入一個表達式/算式進行運算
- 直接打印一個臨時變量
- 運行一個Java語句(可以帶結尾分號也可以不帶)
- 可以定義變量
- 可以直接覆蓋變量而不擔心已定義而導致不能重新定義
- ……
- 沒有大括號就等待分號結尾然后執行。
- 有大括號就等待右大括號收尾。
能看出來這里還支持函數重載。
JShell支持函數間的調用:
更厲害的是這里支持函數的向前引用,即支持一個函數調用其他哪怕暫時未被定義的函數。
這是支持的,但不能直接調用:
那我們創建這個未定義的方法:
順利完成!
我們可以定義普通類并實例化:
可以利用類的對象引用屬性和方法,甚至null也不會爆空指針,只是顯示null。
我們也可以定義枚舉:
我們也可以使用接口:
可見,連注解都支持。
可見:上述包是除了lang包以外,JShell自動為我們導入的包。
異常的話,JShell自己會處理,貌似并不需要catch,比如IOException啊,FileNotFoundException啊這些。
其他的包還是需要自己導入的:
那個IO的就不演示了……打住。。。
JShell的一些命令
JShell中的所有命令都是以/開頭。
| /! | 運行剛剛輸入的代碼段 |
| /n | 指定要運行的第n個代碼段 |
| /exit | 退出JShell |
| /edit | 編輯一個代碼段 |
| /list | 列出已輸入的代碼 |
| /list count | 列出已輸入的count的聲明 |
| /imports | 列出已導入的包名 |
| /save *filename* | 保存會話(當前源代碼) |
| /save *filename* -all | 保存會話(當前源代碼),包括輸入不正確的 |
| /save *filename* -history | 保存會話的歷史(例如輸入的命令列表) |
| /open *filename* | 加載保存過的會話 |
| /types | 顯示類、接口和枚舉 |
| /methods | 顯示方法 |
| /vars | 顯示變量 |
| …… | …… |
總結
以上是生活随笔為你收集整理的【Java】JShell工具上手即用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最大公约数和最小公倍数问题(洛谷P102
- 下一篇: 基于信息流的安全格模型