面向表达的面向语句的方法

时间:2017-09-22 10:47:56

标签: java read-eval-print-loop jshell

我正在浏览这个article on java9并且遇到了这一行,它指出 Java是面向语句的,而REPL是面向表达式的。

有人可以解释这两者之间的区别吗?

1 个答案:

答案 0 :(得分:1)

一个非常快速且巧合的可见区别是,通过使用分号(;)终止表达式,可以将以下类型的表达式转换为语句。

  • 作业表达
  • 使用++或 -
  • 方法调用
  • 对象创建表达式
  • 这些语句称为表达式语句。

因此,在HelloWorld.java课程中,以下内容无法编译 -

int z = 1 //(; missing)

Jshell在其提示符下成功将值存储为:

jshell> int z = 1
z ==> 1

Morevoer

  

Statements   大致相当于自然语言中的句子。一份声明   形成执行的完整单元。

Expression是由变量,运算符和方法调用组成的构造,它们是根据语言的语法构造的,其值为单个值。