我是Java的新手,想要使用交互式shell学习Java,就像我使用IPython一样使用Python。
我尝试了一些交互式shell,例如beanshell,jython,jythonconsole和JyConsole。他们中的大多数没有像IPython那样的标签完成。有没有类似于IPython for java的东西?
答案 0 :(得分:9)
如果你想要一个用于java的交互式选项尝试使用Dr Java或JGrasp,它们都提供与IDLE for python相同的交互选项,还有一个带有调试器的完全基于IDE的我更喜欢JGrasp到Java。他们还有一个Dr Python,所以如果你习惯了Java博士,你也可以将它用于Python。
Java博士还提供了一个功能,您可以从中选择初学者,中级,高级和完整Java,以限制在学习语言时可以使用的语言。我从来没有使用过这个功能,因为我没有看到限制langaue部分的重点,但我想有些老师在教导学生的同时使用它。
答案 1 :(得分:9)
<强> groovysh 强>:
http://groovy.codehaus.org/Groovy+Shell
答案 2 :(得分:8)
您可能不会在交互式使用java时获得太多用处,因为该语言非常注重编译。最好的路径可能只是得到一个很好的IDE,比如eclipse,并开始使用断点和调试器。
答案 3 :(得分:3)
答案 4 :(得分:2)
我认为我找到了一个足够好的选择:JPype。 JPype允许python程序具有对java类库的完全访问权限。使用JPype和IPython,我可以使用所有java函数,同时为java类提供非常好的制表符。(虽然导入了类之后)
答案 5 :(得分:1)
虽然我同意 TokenMacGuy 说:
最好的路线可能只是得到一个不错的IDE,比如eclipse因为我也来自环境,其中交互式外壳等工具是必不可少的。因此,我建议您直接使用ipython / JPype中的jython工具。
可以通过jython的 i-freaker 建议实现或使用JPype:
jython
(检查其正在运行jython -c 'import os; print "Python meets %s" % os.name'
)readrline
(如果是Mac sudo port install readline
)ava-readline
工作jython
只有readline
(Ctrl+R
在jython中导致reverse-i-search
就像你从shell中知道的那样。为了获得标签完成功能,您知道从ipython
开始执行{{1}} 答案 6 :(得分:1)
Gayan Weerakutti在评论中已经提到了我认为也是正确的答案:
自版本9起,JShell就成为JDK的一部分。
在您的终端上尝试jshell
。
检出docs from Oracle about it。
答案 7 :(得分:0)
看看https://github.com/Bachmann1234/java9_kernel你可以为IPython安装Java内核并使用它(也可以通过笔记本电脑)。
答案 8 :(得分:0)
IntelliJ IDEA具有一个带有选项卡补全功能的常规控制台。
打开它:工具-> Groovy控制台...