📜  Java9 Shell工具(JShell)(1)

📅  最后修改于: 2023-12-03 14:42:21.856000             🧑  作者: Mango

Java9 Shell工具(JShell)介绍

1. 什么是JShell

JShell是Java 9中推出的一种交互式编程工具,使用JShell可以在命令行中直接输入Java代码,执行代码并获得实时的结果反馈,方便快捷地进行代码的调试和测试。

2. JShell的优点

JShell的交互式编程模式使得编写Java代码变得更加快捷、方便。它可以让开发人员在命令行中输入代码,然后直接看到结果,从而立即得到反馈。这一点有利于我们更快更好地理解代码运行的流程; 而且也相比传统的写代码-编译-运行-调试的方式,JShell更加省时,易用,提高了开发效率。

同时,JShell的一些特性使得它与其他更熟悉的语言,特别是Python等语言进行比较,一些优势表现得越发明显 :

  • 迅速地尝试和测试代码
  • 实时快速的反馈权衡代码
  • 对调试代码更为简单(因为可以逐个执行代码段)
  • 计算和分析复杂的表达式(使用Java 9中的Lambda表达式)
3. 如何使用JShell

开发人员只需要在命令行中输入 jshell 命令,即可开启JShell的交互式编程环境。交互界面以 “>” 符号开头,类似于Python Shell的交互式环境。

我们还可以使用一些命令来控制JShell的交互环境,例如:

  • /help:列出可用的命令
  • /vars:列出当前已经创建的变量
  • /methods:列出当前可以调用的方法等等。

下面是一个简单的例子,演示如何使用JShell:

>jshell
|  启动 JShell
来自 JShell 的欢迎信息
|  
jshell> int a = 10; // 定义变量a,赋值为10
a ==> 10
|  
jshell> int b = 20; // 定义变量b,赋值为20
b ==> 20
|  
jshell> int c = a + b; // 定义变量c,赋值为a+b
c ==> 30
|  
jshell> System.out.println("a+b=" + c); // 输出计算结果
a+b=30
|  
jshell> 
4. JShell的限制

JShell并不是完美无缺的。它有一些限制,需要开发人员遵守。例如,由于JShell要支持实时编译和执行代码,因此它有以下限制:

  • 不支持编译器选项(例如,-classpath,-sourcepath等等)
  • 不支持在Java Applet上运行(因为Java Applet是在浏览器中运行的,JShell只位于终端上运行)
  • 不支持绝大多数Java EE功能(JShell只是Java SE的一部分)
5. 总结

JShell是Java 9中非常有用的一个新增功能。它可以提供更加快捷、方便的交互式编程体验。开发人员可以在命令行中逐个输入代码段,从而更好地调试、测试代码,提高开发效率。当然,开发人员也需要了解JShell的一些限制,以避免在使用JShell时遇到不必要的麻烦。