REPL代表Read-Eval-Print Loop.使用JShell,java具有REPL功能.使用REPL,我们可以编写和测试基于java的逻辑,无需使用javac进行编译,直接查看计算结果.
打开命令提示符并输入jshell.
$ jshell | Welcome to JShell -- Version 9-ea | For an introduction type: /help intro jshell>
一旦jshell命令开始运行,键入/help.
jshell> /help | Type a Java language expression, statement, or declaration. | Or type one of the following commands: | /list [<name or id>|-all|-start] | list the source you have typed | /edit <name or id> | edit a source entry referenced by name or id | /drop <name or id> | delete a source entry referenced by name or id | /save [-all|-history|-start] <file> | Save snippet source to a file. | /open <file> | open a file as source input | /vars [<name or id>|-all|-start] | list the declared variables and their values | /methods [<name or id>|-all|-start] | list the declared methods and their signatures | /types [<name or id>|-all|-start] | list the declared types | /imports | list the imported items
在jshell命令开始运行后键入/imports并查看使用的导入.
jshell> /imports | import java.io.* | import java.math.* | import java.net.* | import java.nio.file.* | import java.util.* | import java.util.concurrent.* | import java.util.function.* | import java.util.prefs.* | import java.util.regex.* | import java.util.stream.* jshell>
尝试在JShell中运行简单计算.
jshell> 3+1 $1 ==> 4 jshell> 13%7 $2 ==> 6 jshell> $2 $2 ==> 6 jshell>
创建一个函数doubled()来获取int并返回其doubled值.
jshell> int doubled(int i){ return i*2;} | created method doubled(int) jshell> doubled(6) $3 ==> 12 jshell>
输入/退出.
jshell> /exit | Goodbye