【问题标题】:Statement oriented approach against expression oriented one面向语句的方法与面向表达式的方法
【发布时间】:2017-09-22 10:47:55
【问题描述】:

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

谁能解释一下这两者的区别?

【问题讨论】:

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


    【解决方案1】:

    一个非常快速且同时可见的区别是,可以通过用分号 (;) 终止表达式来将以下类型的表达式组成一个语句。

    • 赋值表达式
    • 任何使用 ++ 或 --
    • 方法调用
    • 对象创建表达式
    • 此类语句称为表达式语句。

    所以当在你的 HelloWorld.java 类中时,以下内容将无法编译 -

    int z = 1 //(; missing)
    

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

    jshell> int z = 1
    z ==> 1
    

    更多

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

    Expression 是由变量、运算符和方法调用组成的构造,这些构造根据语言的语法构造,计算结果为单个值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-24
      • 1970-01-01
      • 1970-01-01
      • 2016-09-25
      • 2010-09-18
      相关资源
      最近更新 更多