Java - REPL (JShell):初学者指南

你好,未来的Java大师们!今天,我们将踏上一段激动人心的旅程,探索Java的REPL(读取-求值-打印-循环)工具,也就是JShell。作为你友好的计算机科学老师,我将引导你一步一个脚印地完成这次冒险。所以,系好安全带,让我们开始吧!

Java - REPL (JShell)

REPL (JShell) 简介

想象一下你正在学习演奏一种乐器。如果你能立即尝试不同的音符和和弦,而不必写一个完整的交响曲,那岂不是很好?JShell正是为Java编程做的 همین事情!

JShell,随着Java 9引入,就像一个Java代码的游乐场。它允许你输入Java语句和表达式,并立即看到结果。无需编写完整的程序,编译它,然后运行它。这对于实验、学习和快速测试想法来说非常完美。

使用JShell的优点

  1. 即时反馈:输入一行代码,按回车,然后你就会立即看到结果。
  2. 易于实验:想尝试一个新的方法或看看某个特定的Java特性是如何工作的?JShell就是你的沙盒。
  3. 学习工具:对于初学者(比如你!)来说,在没有完整程序结构的情况下学习Java是极好的。
  4. 快速原型设计:在将代码片段集成到更大的程序之前,快速测试和优化它们。

运行JShell

让我们动手实践吧!要启动JShell,打开你的命令提示符或终端并输入:

jshell

如果一切设置正确,你将看到欢迎信息和一个看起来像这样的提示符:

jshell>

恭喜你!你现在进入了JShell环境。让我们尝试一些简单的事情:

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

看看!我们刚刚在JShell中打印了我们的第一条消息。没有主方法,没有类声明,只有纯粹的Java乐趣!

在JShell中创建变量

在JShell中创建变量就像派一样简单。让我们试试几个:

jshell> int age = 25
age ==> 25

jshell> String name = "Alice"
name ==> "Alice"

jshell> double pi = 3.14159
pi ==> 3.14159

JShell会在你创建每个变量后自动显示其值。酷吧?

在JShell中计算表达式

JShell可以即时计算表达式。让我们做一些数学运算:

jshell> 5 + 3
$1 ==> 8

jshell> age * 2
$2 ==> 50

jshell> "Hello, " + name
$3 ==> "Hello, Alice"

注意到JShell为结果分配了临时变量名(如$1,$2,$3),如果你愿意,可以在后续表达式中使用它们!

在JShell中创建和调用方法

在JShell中创建方法是轻而易举的。让我们创建一个简单的问候方法:

jshell> void greet(String name) {
...>     System.out.println("Hello, " + name + "!");
...> }
|  created method greet(String)

jshell> greet("Bob")
Hello, Bob!

我们定义了一个方法,并立即调用它。不需要类包装!

JShell内置命令

JShell附带了一些内置命令,帮助你导航和管理你的会话。以下是一些最有用的命令:

命令 描述
/list 列出你已经输入的源代码
/vars 列出声明的变量及其值
/methods 列出声明的方法
/edit 编辑源代码条目
/save 将片段保存到文件
/open 打开并执行一个文件
/exit 退出JShell

让我们试试一些:

jshell> /vars
|    int age = 25
|    String name = "Alice"
|    double pi = 3.14159

jshell> /methods
|    void greet(String)

退出JShell

当你完成实验后,可以通过输入以下命令退出JShell:

jshell> /exit
|  Goodbye

就这样,你完成了第一次JShell会话!

结论

JShell是一个极其强大的学习工具,用于Java编程的实验。它移除了传统Java编程的障碍,让你能够专注于代码本身。在你继续Java之旅时,你会发现JShell在尝试新想法、测试代码片段甚至调试复杂问题时都是不可或缺的伴侣。

记住,在编程中,就像在生活中一样,最好的学习方式就是实践。所以不要害怕在JShell中实验。输入不同的命令,创建奇怪的变量,定义疯狂的方法——你玩得越多,学到的越多!

在我们结束这节课时,我想起了一句著名计算机科学家Alan Kay的名言:“预测未来的最佳方式就是创造它。”有了JShell在你的指尖,你现在就可以一行代码一行代码地创造自己的Java未来。

快乐编码,未来的Java大师们!下次见,继续探索,继续学习,最重要的是,继续在Java中享受乐趣!

Credits: Image by storyset