Q. JavaのREPLってないの? A. あります!

GroovyはJavaの上位互換言語であり、インタラクティブシェルがあります。なので実質JavaのREPLとして使えます。

$ brew install groovy
$ groovysh
Groovy Shell (2.2.1, JVM: 1.7.0_45)
Type 'help' or '\h' for help.
---------------------------------------------------------
groovy:000> System.out.println("Hello")
Hello
===> null
groovy:000> import java.util.concurrent.*;
===> [import java.concurrent.util.*;]
groovy:000> a = new CountDownLatch(10)
===> java.util.concurrent.CountDownLatch@6e30f80e[Count = 10]
groovy:000> a.countDown()
===> null
groovy:000> a
===> java.util.concurrent.CountDownLatch@6e30f80e[Count = 9]

Groovy shellはremote版もあるからAndroid実機につなげてREPLをできたらすごくいいな、と思ったんですが、GroovyはJVMバイトコードを生成して実行しているようで、本物のJVMじゃないと動かないようでした。残念。