jshell 在我眼里,只能作为学校教学的一个玩具,事实上官方也做了解释,以下是官方的解释:
在学习编程语言时,即时反馈很重要,并且 它的 API。学校引用远离Java的首要原因 教学语言是其他语言有一个“REPL”并且要低得多 禁止初始程序。读取-评估-打印循环 (REPL) 是一个交互式编程工具,它循环,不断读取用户输入, 评估输入,并打印输入的值或描述 状态更改导致的输入。Scala, Ruby, JavaScript, Haskell,Clojure和Python都有REPL,并且都允许小的首字母 程序。JShell 为 Java 平台添加了 REPL 功能。"Hello, world!"
探索编码选项对开发人员也很重要 原型代码或调查新的 API。交互式评估是 在这方面比编辑/编译/执行和.System.out.println
没有仪式,学习和探索是精简的。class Foo { public static void main(String[] args) { ... } }
在我看来,很鸡肋,一、是因为其终端输入和编写的不便
二、则是在我看来,也就是引起别人学习java的小玩意
接下来,我将举个例子:
jshell> System.out.println("sb");
sbjshell> Math.sqrt(89);
$4 ==> 9.433981132056603
可以看出,能够执行片段代码
jshell> class foo{
...> public static void main(String[] args){
...> System.out.println("sb");
...> }
...> }
| 已创建 类 foo
也是可以创建类的。
如何调用?
jshell> class foo{
...> public void sb(){
...> System.out.println("sb");
...> }
...> }
| 已替换 类 foo
| 更新已替换 变量 a, 重置为空值
jshell> foo a=new foo();
a ==> foo@4d76f3f8
jshell> a.sb();
sb