Java 默认情况下,它也是捆绑的,并且与其他语言一样,您可以访问类路径上可用的所有包/对象。

Java 默认情况下,它也是捆绑的,并且与其他语言一样,您可以访问类路径上可用的所有包/对象。,java,read-eval-print-loop,Java,Read Eval Print Loop,然而,存在似乎是最新的和活动的 使用简单的类定义进行了尝试,效果很好 $ java -jar javarepl.jar Welcome to JavaREPL version 56 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_17) Type in expression to evaluate. Type :help for more options. java> public class Test { | public stat

然而,存在似乎是最新的和活动的

使用简单的类定义进行了尝试,效果很好

$ java -jar javarepl.jar
Welcome to JavaREPL version 56 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_17)
Type in expression to evaluate.
Type :help for more options.

java> public class Test {
    | public static void execute(String [] s) {
    |  System.out.println(54353 + s[0]);
    | }}

java> Test.execute(new String [] {"234343"});
54353234343

java> System.exit(0);

老问题,但现在有一个更好的答案(2013年5月)-java REPL!它在上可用,也可在现场进行快速一次性测试

如果您获取git hub代码并运行
ant
来生成工件,您就可以轻松地使用一个小脚本,如:

#!/bin/sh
java -jar /home/rdahlgren/scripts/javarepl-dev.build.jar

自从找到这个项目,我可能每天使用5次。享受吧

有一个名为的简单IDE,它有一个交互控制台。它的工作原理完全符合我的预期。只需加载一个文件并开始与其中的对象进行交互。

JavaReplBy工作得很好

您可以在此处直接从浏览器进行尝试:

这里提供了源代码,它有一个像样的Intelli-J插件

它是OpenJDK 9的一部分! 名为JShell(由Oracle开发)的REPL已作为JDK 9的一部分发布

只需下载JDK9,并启动
bin/jshell

资源
  • OpenJDK项目
  • Java增强建议
    • 有一个在线回复:


      键入更多以达到字符限制…

      对于java 8,有轻推4j。 看

      。。。其美妙之处在于,您可以从浏览器中试用您的应用程序。是一个带有内置REPL的java scratchpad:

      C:\>jpad
             _ _____          _
            | |  __ \        | |
            | | |__) |_ _  __| |
        _   | |  ___/ _` |/ _` |
       | |__| | |  | (_| | (_| |
        \____/|_|   \__,_|\__,_|
      
      
      
      Anything you type is evaluated as java.
      The code is continuously appended until you call \clear.
      Other Available Commands:
      \exit - exit
      \clear (n) - clear past java statements
      \history - display all past java statements
      \help - display this help
      
      j>2+2
      4
      j>Math.sin(100.1)
      -0.4177477
      j>
      
      它还可以智能地转储集合、列表、地图等,并允许将它们呈现为表格或图表:


      Java 9提供了JShell

      jshell> println( "Print me!")
      jshell> Print me!
      


      自2018年9月发布JDK 11以来,
      java
      命令允许启动单个java源代码文件。请参阅bug报告,并且

      Eclipse有一个“显示”视图,该视图与我想要的接近。问题是,它必须在运行应用程序的上下文中。我必须运行一个应用程序,在断点处停止,然后才能键入所需内容。@YoniRoit IMHO我更喜欢“显示”+调试模式,而不是命令行REPL。很久以前,我使用REPL w/Python,所以我已经完成了这两项工作。我认为编写一个单元测试并放置一个断点,在将任何代码粘贴回单元测试的同时使用所需的上下文要好得多。在普通REPL中获得准确的上下文比单元测试要困难得多。还有Jython和JRuby交互式shell,用于不太详细的语法。BeanShell作为BeanShell 2积极维护-从命令行@hshib运行BeanShell的一个简单示例:现在是,最后一次提交是从2013年开始。这不是“积极维护的”。@MartinSchröder,那是在2013年发表的评论:-)我知道我可以使用GroovyShell,但groovy没有与Java完全相同的语义,也没有类型检查。因此,我可能会遇到编译错误,或者一段Java代码在Groovy shell中运行时出现不同的行为。Groovy也会在~/.Groovy/lib中加载所有lib,您可以复制其中的内容,也可以继续使用symlinksis beanshell维护?beanshell作为beanshell 2-@hshib:No进行积极维护。github上的最后一次提交是从2013年开始的。谢谢。Beanshell在splash上为我计时,但这非常有效。我已经使用Eclipse很久了,但不知道这一点,谢谢!尽管剪贴簿页面可能很有用,但它不是一个持久会话,因此实际上不如REPL工作得好。是的,有:Java引入了它:imageshack上不再存在屏幕截图。groovy控制台特别好的地方是默认情况下导入了更多的包(例如Java.util.*),因此,您不需要为那些懒得安装Groovy的用户编写太多导入语句,这里提供了此控制台的在线版本:。一些JDK库不可用(例如I/O和
      System.exit()
      ),但对于大多数目的来说,它应该足够了。这不接受类,这正常吗<代码>类测试{publicstaticvoidtest(){System.out.println('test')}这很有趣。Bluej就像一个oprepl。对于您当前使用repl的东西来说,这不是很有用,但是您可以使用它来原型化您的oo设计,就像使用repl原型化方法一样。没有维护。在线repl的链接现在似乎是旧的链接,只显示Java错误。
      Needs["JLink`"]
      LoadJavaClass["java.net.InetAddress"]
      InetAddress`getAllByName["localhost"]
      
      {<<JavaObject[java.net.Inet4Address>>}
      
      #@toString[]& /@ %
      
      {"localhost/127.0.0.1"}
      
      this.class.classLoader.rootLoader.addURL(new URL("file:///path to file"))
      
      $ java -jar javarepl.jar
      Welcome to JavaREPL version 56 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_17)
      Type in expression to evaluate.
      Type :help for more options.
      
      java> public class Test {
          | public static void execute(String [] s) {
          |  System.out.println(54353 + s[0]);
          | }}
      
      java> Test.execute(new String [] {"234343"});
      54353234343
      
      java> System.exit(0);
      
      #!/bin/sh
      java -jar /home/rdahlgren/scripts/javarepl-dev.build.jar
      
      C:\>jpad
             _ _____          _
            | |  __ \        | |
            | | |__) |_ _  __| |
        _   | |  ___/ _` |/ _` |
       | |__| | |  | (_| | (_| |
        \____/|_|   \__,_|\__,_|
      
      
      
      Anything you type is evaluated as java.
      The code is continuously appended until you call \clear.
      Other Available Commands:
      \exit - exit
      \clear (n) - clear past java statements
      \history - display all past java statements
      \help - display this help
      
      j>2+2
      4
      j>Math.sin(100.1)
      -0.4177477
      j>
      
      jshell> println( "Print me!")
      jshell> Print me!