當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Java Shell Tool(JShell)用法及代碼示例

它是一個交互式 Java Shell 工具,它允許我們從 Shell 執行 Java 代碼並立即顯示輸出。 JShell 是一個 REPL(讀取評估打印循環)工具並從命令行運行。

JShell 的優點

Jshell 減少了運行 Java 程序和測試業務邏輯所需的所有工作。

如果不使用Jshell,Java程序的創建涉及以下步驟。

  • 打開編輯器並編寫程序
  • 保存程序
  • 編譯程序
  • 編輯是否有任何編譯時錯誤
  • 運行程序
  • 編輯是否有任何運行時錯誤
  • 重複這個過程

Jshell 不需要上述步驟。我們可以評估語句、方法和類,甚至可以在不創建類的情況下編寫 hello 程序。

如何啟動 JShell

要啟動 Jshell,首先我們必須安裝 Java 9,然後在 Linux 中打開終端或在 Windows 中打開命令提示符並輸入 jshell ?v。它將啟動 jshell 會話並向控製台顯示一條歡迎消息。

Java 9 Shell Tool 1

你好 Java 消息

要顯示簡單的 "Hello Java" 消息,請在不創建類的情況下編寫打印命令並按 Enter。

Java 9 Shell Tool 2

變量

我們可以聲明變量並在 Jshell 會話中的任何地方使用。讓我們創建一個整數變量。

Java 9 Shell Tool 3

分號 (;) 是可選的,我們可以保留它並且它工作正常。看,變量 b 是在不使用分號的情況下創建的。

Java 9 Shell Tool 4

臨時變量

如果我們不提供變量名,Java 會創建隱式變量來存儲值。這些變量以 $符號開頭。我們可以通過指定隱式變量來使用這些變量,就像我們在下麵的 screen-shot 中所做的那樣。

Java 9 Shell Tool 5

表達式

我們可以測試任何有效的 Java 表達式以獲得即時輸出。請參閱以下示例。

兩個整數相加

jshell> 2+3
$1 ==> 5
|  created scratch variable $1:int
jshell>

複合表達式

jshell> 2+(5*4+(2+1))
$4 ==> 25
|  created scratch variable $4:int
jshell>

方法

要測試方法業務邏輯,請創建一個方法並立即獲得結果。請參閱以下示例。

jshell> void show(){
   ...> System.out.println("This is show method");
   ...> }
|  created method show()

調用方式

jshell> show();
This is show method

要創建類,請為該類編寫源代碼並通過立即創建對象來調用其方法。請參閱以下示例。

jshell> class Hello{
   ...> void show(){
   ...> System.out.println("This is show method");
   ...> }
   ...> }
|  created class Hello

jshell> new Hello().show();
This is show method

包導入

默認情況下,導入 10 個包,也可以使用 import 語句導入任何包。

要查看默認導入包,我們可以使用以下命令。

jshell> /import
|    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.*

導入 java.sql 包。

jshell> import java.sql.*;

列出導入包,它將顯示可用的可訪問包。

jshell> /import
|    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.*
|    import java.sql.*

現在包的數量是 11,包括新的一個 java.sql.*。

Jshell 命令

Jshell 提供了各種有用的命令,我們可以使用它們來修改環境、管理代碼和獲取代碼相關信息。以下是有用的信息。

包導入

jshell> /import
|    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.*
|    import java.sql.*

命令 /vars 顯示變量。

jshell> /vars
|    int $1 = 5
|    int $2 = 5
|    int $4 = 25

要獲取所有編寫的源代碼,請使用 /list

jshell> /list

   1:2+3
   2:10-5
   3:$1
   4:2+(5*4+(2+1))
   5:void show(){
       System.out.println("This is show method");
       }
   6:show();
   7:class Hello{
       void show(){
       System.out.println("This is show method");
       }
       }
   8:new Hello().show();
   9:import java.sql.*;






相關用法


注:本文由純淨天空篩選整理自 Java Shell Tool (JShell)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。