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

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)

Updated on: 03-Apr-2020


Kickstart Your Career

Get certified by completing the course

Get Started