How to print previously typed snippets in JShell in Java 9?

JavaObject Oriented ProgrammingProgramming

JShell is an official Read-Evaluate-Print-Loop (REPL) introduced in Java 9. It provides an interactive shell for quickly prototyping, debugging, and learning Java and Java API without the need for a main() method.

The "/list" command in JShell prints out all of the previously typed snippets of that particular session with a unique identifier called the snippet ID. By default, the output doesn't contain any snippet with only valid statements or expressions that can be shown. We need to see all previously typed code include errors, then pass the -all argument to the /list command.

In the below code snippet, we have created some statements like expression, class, method, and etc in JShell.

| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro

jshell> int x=20
x ==> 20

jshell> "Java 9"
$2 ==> "Java 9"

jshell> System.out.println($2)
Java 9

jshell> class Test {
...> }
| created class Test

jshell> void print() {
...> System.out.println("Tutorialspoint");
...> }
| created method print()

jshell> print()

jshell> System.out.println(x)

In the below code snippet, we can able see all the previously typed snippets by using the "/list" command.

jshell> /list

1 : int x=20;
2 : "Java 9"
3 : System.out.println($2)
4 : class Test {
5 : void print() {
6 : print()
7 : System.out.println(x)
Published on 03-Apr-2020 17:07:48