Misplaced Pages

JShell

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
This article's lead section may be too short to adequately summarize the key points. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. (June 2024)
This article provides insufficient context for those unfamiliar with the subject. Please help improve the article by providing more context for the reader. (June 2024) (Learn how and when to remove this message)
(Learn how and when to remove this message)

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 = fact(a);
jshell> a
a ==> int { 1, 1, 6, 120, 40320 }

See also

References

  1. "Oracle Announces Java SE 9 and Java EE 8". Oracle Corporation. 2017-09-21. Archived from the original on 2017-09-22. Retrieved 2017-09-25.
  2. "JEP 222: jshell: The Java Shell (Read-Eval-Print Loop)". Oracle Corporation. 2016-10-10. Retrieved 2016-11-01. Provide an interactive tool to evaluate declarations, statements, and expressions of the Java programming language, together with an API so that other applications can leverage this functionality
  3. "JEP 222: jshell: The Java Shell (Read-Eval-Print Loop)". Oracle Corporation. 2016-10-10. Retrieved 2016-11-01. Another alternative is to maintain the status quo: Use another language or use a third-party REPL such as BeanShell, though that particular REPL has been dormant for many years, is based on JDK 1.3, and makes arbitrary changes to the language.
  4. "JShell, the Java 9 REPL – What does it do?". jaxenter.com. 2015-09-03. Archived from the original on 2015-09-05. Retrieved 2016-11-01. BeanShell (just like Groovy, too by the way) made an attempt of standardisation by the Java Community Process in JSR 274 – a JSR that did not produce any notable output, in spite of the fact that (or perhaps because?) two major companies, Sun and Google, had joined the expert group. Under the JCP.next initiative this JSR was declared "Dormant".
Stub icon

This programming-language-related article is a stub. You can help Misplaced Pages by expanding it.

Categories: