Java 新特性:JShell

共 1328字,需浏览 3分钟

 ·

2023-09-28 09:15

JShell 是在 JDK 9 正式发布的。它是类似于 Shell 的交互式编程环境,可以即时执行 Java 代码给出反馈。

快速反馈

在传统的学习 Java 时,对于一段入门代码,我们需要相对复杂的流程。

  1. 编辑器输入以下代码:

class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
  1. 执行以下编译命令:

javac HelloWorld.java
  1. 运行:

java HelloWorld

对于后续的每次代码改动,我们都要执行上述的过程。

当然,我们也可以把这个过程放到 IDE 中去做,也不过是 IDE 自动化了以上过程。

相对于 Shell 脚本、Python、Kotlin 这些语言,Java 一直以来缺少一种即时执行、反馈的交互式编程环境。JShell 就是用来填补这一块空白的。

终端执行 jshell 进入 JShell 后,就可以直接运行以下代码,得到反馈:

jshell> System.out.println("Hello, world!");
Hello, world!

jshell>

JShell 加速了反馈,让我们能够快速的学习、验证 Java 特性点。

除此之外,JShell 和 Java 有一些不太一致的地方需要注意。

重复声明

在 JShell 中,我们可以多次重复声明同一变量,也可以改变其类型。

jshell> String greeting = "Hola";
greeting ==> "Hola"
| modified variable greeting : String
| update overwrote variable greeting : String

jshell> Integer greeting;
greeting ==> null
| replaced variable greeting : Integer
| update overwrote variable greeting : String

这降低了我们在 JShell 中编码的难度,不需要记住以前声明过什么变量,方便了我们验证少量代码。

直接执行表达式

JShell 中我们可以直接执行表达式,方便了我们验证表达式的工作。

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

总结

总的来说,JShell 方便我们验证一些简单的语法特性和逻辑,有利于我们快速学习、验证 Java 的语言特性。对于一些复杂的逻辑则不太适合,复杂的代码逻辑还是交给 IDE 去做。


浏览 49
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报