【发布时间】:2017-09-22 10:47:55
【问题描述】:
我正在浏览这个 article on java9 并遇到了这一行,它指出 Java 是面向语句的,而 REPL 是面向表达式的。
谁能解释一下这两者的区别?
【问题讨论】:
标签: java read-eval-print-loop jshell
我正在浏览这个 article on java9 并遇到了这一行,它指出 Java 是面向语句的,而 REPL 是面向表达式的。
谁能解释一下这两者的区别?
【问题讨论】:
标签: java read-eval-print-loop jshell
一个非常快速且同时可见的区别是,可以通过用分号 (;) 终止表达式来将以下类型的表达式组成一个语句。
所以当在你的 HelloWorld.java 类中时,以下内容将无法编译 -
int z = 1 //(; missing)
Jshell 在其提示符下成功将值存储为:
jshell> int z = 1
z ==> 1
更多
Statements 大致相当于自然语言中的句子。一份声明 构成一个完整的执行单元。
而Expression 是由变量、运算符和方法调用组成的构造,这些构造根据语言的语法构造,计算结果为单个值。
【讨论】: