<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Java 9 JShell 示例 > 原文: [https://javatutorial.net/java-9-jshell-example](https://javatutorial.net/java-9-jshell-example) 本教程說明了如何在 Java 9 中使用 JShell 工具 JShell 工具(也稱為 REPL(讀取評估打印循環))使您能夠執行 Java 代碼,并立即獲得結果。 您可以快速評估表達式或簡短的算法,而無需創建,編譯或構建新項目。 借助 JShell,您可以執行表達式,使用導入,定義類,方法和變量以及使用導入。 請注意,JShell 是 [Java 9 JDK](https://javatutorial.net/install-java-8-jdk-on-ubuntu) 的一部分,而不是 JRE。 ## 啟動 JShell 打開控制臺或終端(取決于您的操作系統)。 瀏覽到 Java 9 JDK 安裝文件夾,然后將`cd`放入`/bin`文件夾。 運行 jshell 可執行文件 – `jshell.exe`(如果在 Windows OS 上運行) ![Start JShell](https://img.kancloud.cn/d2/4a/d24af6ffd55841ea61fe5bca0f189290_677x342.jpg) 啟動 JShell ## 簡單的算術運算 使用 JShell,您可以通過將其輸入為數學表達式來輕松測試算術運算。 以下示例演示了此概念。 您無需將分號(`;`)放在行尾 ![JShell arithmetic operations](https://img.kancloud.cn/ae/dc/aedcccc27e5a0302f8dca277125261c2_677x342.jpg) JShell 算術運算 注意`37/2 = 18`的輸出。之所以發生這種情況,是因為 JShell 將 37 視為`Integer`,因此結果強制轉換為(`int`)。 將小數點加到 37 將產生`Double`結果 ## JShell 內部變量 JShell 通過打印輸入結果為您提供即時反饋。 例如: ```java jshell> 1 + 3 $1 ==> 4 ``` 表達式`1 + 3`的結果為 4。JShell 還將此值分配給內部變量`$1`。 進一步的命令被分配給遞增的`$`變量,例如`$2`,`$3`等。 以下屏幕截圖演示了 JShell 內部變量的用法: ![jshell internal variables](https://img.kancloud.cn/5a/52/5a5231ee2d8f6b55a12e3c3c14a0a3da_677x342.jpg) jshell 內部變量 您可以通過輸入內部變量的名稱來打印它的值,如下所示: ```java jshell> $1 $1 ==> 4 ``` 您可以為內部變量分配一個新值: ```java jshell> $1 = 20 $1 ==> 20 ``` 表達式`1 + 3`會生成一個整數,對嗎? 那么,如果您嘗試為不同類型的內部變量分配值,會發生什么? 讓我們嘗試為`$1`變量賦雙精度值 15.8 ```java jshell> $1 = 15.8 ``` 如您在上面的屏幕截圖中所見,這解決了“不兼容的類型錯誤”。 創建內部變量后,無法再更改類型。 內部變量不僅用于存儲基本類型。 它們還可以處理對象。 在以下示例中,我們創建一個`String`類型的內部變量: ```java jshell> new String("Hello") $4 ==> "Hello" ``` ## JShell 自動補全 JShell 具有內置的自動補全功能(也稱為 Tab 補全功能),通過該功能,您只需按 Tab 鍵就可以最小化鍵入。 開始鍵入并按 Tab 鍵。 這將完成您開始鍵入的單詞(如果只有一個選項可用)或顯示可能的選項列表。 看下面的例子。 我們開始輸入`Str`,然后按 Tab 鍵: ![jshell autocomplete function](https://img.kancloud.cn/ca/ed/caed7000342a9f85a26d013984dcebc4_677x342.jpg) jshell 自動補全功能 ## JShell 自定義導入 默認情況下,以下軟件包被導入到 JShell 中: * `java.io. *` * `java.math.*` * `java.net.*` * `java.nio.file.*` * `java.util.*` * `java.util.concurrent.*` * `java.util.function.*` * `java.util.prefs.*` * `java.util.regex.*` * `java.util.stream.*` 提示:您可以使用`/imports`命令列出導入 您可以輕松導入 Java SE 中的軟件包。 如果要查找軟件包名稱,請檢查[官方 Java 9 SE javadoc 網站](https://docs.oracle.com/javase/9/docs/api/jdk.javadoc-summary.html) 下面的示例演示如何導入`java.time.LocalDate`以創建新的`LocalDate`對象 ![jshell custom import](https://img.kancloud.cn/35/af/35afce065ae21c0d45ad6481ed5cabc3_677x342.jpg) jshell 定制導入 ## JShell 示例程序 測試`List`反向方法的典型 Java 類如下所示: ```java import java.util.Arrays; import java.util.Collections; import java.util.List; public class ListUtils { public static void main(String[] args) { List<String> list = Arrays.asList("A", "B", "C"); System.out.println(reverse(list)); } public static List<String> reverse(List<String> list) { List<String> listCopy = list.subList(0, list.size()); Collections.reverse(listCopy); return listCopy; } } ``` 上面顯示的代碼具有導入,`main`方法和`System.out.println()`來顯示結果。 我們可以在 JShell 中跳過所有 3 個。 這就是我們可以使用 JShell 測試相同功能的方法: ![jshell example](https://img.kancloud.cn/26/5b/265bd77ab937221fac606821abd7f322_677x318.jpg) jshell 的例子 您將在上面的示例中注意到,我們照常創建類。 此外,我們的輸入列表是在類之外創建的。 創建列表后查看立即輸出,顯示其值 ```java list ==> [A, B, C] ``` 現在我們只在類中調用`Utility`方法 ```java jshell> ListUtils.reverse(list) ``` 并顯示結果輸出: ```java $3 ==> [C, B, A] ``` ## 如何退出 JShell 您可以隨時輸入以下內容退出 jshell ```java jshell> /exit ``` 或按`Ctrl + C` 您在此處找到的許多教程都是基于 Edward Lavieri 博士和 Peter Verhas 撰寫的 [Mastering Java 9](https://www.amazon.com/Mastering-Java-reactive-modular-concurrent/dp/1786468735/ref=sr_1_3?ie=UTF8&qid=1520921208&sr=8-3&keywords=mastering+java+9) 。 本書將為您提供對 Java 9 新概念和工具的完整而深刻的理解。 如果您喜歡我的帖子或有任何問題/建議/類型錯誤,請給我評論。 感謝您閱讀我的教程。 Java SE 9 學習愉快!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看