面向语句的方法与面向表达式的方法
Statement oriented approach against expression oriented one
我正在浏览这个 article on java9 并遇到了这条线,它指出 Java 是面向语句的,而 REPL 是面向表达式的。
谁能解释一下这两者的区别?
一个非常快速且巧合的可见差异是,可以通过以分号 (;
) 终止表达式来将以下类型的表达式制成语句。
- 赋值表达式
- 任何使用 ++ 或 --
- 方法调用
- 对象创建表达式
- 这样的语句称为表达式语句。
所以当在你的 HelloWorld.java
class 中时,以下不会编译 -
int z = 1 //(; missing)
Jshell 在其提示中成功将值存储为:
jshell> int z = 1
z ==> 1
更多
Statements
are roughly equivalent to sentences in natural languages. A statement
forms a complete unit of execution.
而 Expression
是由变量、运算符和方法调用组成的构造,它们根据语言的语法构造,计算结果为单个值。
我正在浏览这个 article on java9 并遇到了这条线,它指出 Java 是面向语句的,而 REPL 是面向表达式的。
谁能解释一下这两者的区别?
一个非常快速且巧合的可见差异是,可以通过以分号 (;
) 终止表达式来将以下类型的表达式制成语句。
- 赋值表达式
- 任何使用 ++ 或 --
- 方法调用
- 对象创建表达式
- 这样的语句称为表达式语句。
所以当在你的 HelloWorld.java
class 中时,以下不会编译 -
int z = 1 //(; missing)
Jshell 在其提示中成功将值存储为:
jshell> int z = 1
z ==> 1
更多
Statements are roughly equivalent to sentences in natural languages. A statement forms a complete unit of execution.
而 Expression
是由变量、运算符和方法调用组成的构造,它们根据语言的语法构造,计算结果为单个值。