JShell is a Java read–eval–print loop which was first introduced in the JDK 9. It is tracked by JEP 222 jshell: The Java Shell (Read–Eval–Print Loop). One reason why JShell was proposed for Java 9 is the lack of a standard interactive environment for the language; the de facto library to use a Java REPL was often BeanShell, which has been dormant since 2003, and arbitrarily diverged from the Java language.

Example jshell> int a[] = { 0, 1, 3, 5, 8 } a ==> int { 0, 1, 3, 5, 8 }

jshell> int fact(int n) { ...> return n < 2 ? 1 : n * fact(n - 1); ...> } | created method fact(int)

jshell> for (int i = 0; i < a.length; ++i) ...> a[i] = fact(a[i]);

jshell> a a ==> int { 1, 1, 6, 120, 40320 }

See also Exploratory programming

References