官术网_书友最值得收藏!

Statements versus expressions

Kotlin utilizes expressions more widely than Java, so it is important to know the difference between a statement and an expression. A program is basically a sequence of statements and expressions. An expression produces a value, which can be used as part of another expression, variable assignment, or function parameter. An expression is a sequence of one or more operands (data that is manipulated) and zero or more operators (a token that represents a specific operation) that can be evaluated to a single value:


Let's review some examples of expressions from Kotlin:

Expression (produces a value)

Assigned value

Expression of type

a = true

true

Boolean

a = "foo" + "bar"

"foobar"

String

a = min(2, 3)

2

Integer

a = computePosition().getX()

Value returned by the getX method

Integer

 

Statements, on the other hand, perform an action and cannot be assigned to a variable, because they simply don't have a value. Statements can contain language keywords that are used to define classes (class), interfaces (interface), variables (val, var), functions (fun), loop logic (break, continue) and so on. Expressions can also be treated as a statement when the value returned by the expression is ignored (do not assign a value to the variable, do not return it from a function, do not use it as part of other expressions, and so on).

Kotlin is an expression-oriented language. This means that many constructs that are statements in Java are treated as expressions in Kotlin. The first major difference is the fact that Java and Kotlin have different ways of treating control structures. In Java they are treated as statements, while in Kotlin all control structures are treated as expressions, except for loops. This means that in Kotlin we can write very concise syntax using control structures. We will see examples in upcoming sections.

主站蜘蛛池模板: 东辽县| 攀枝花市| 淮北市| 大石桥市| 西城区| 始兴县| 昌都县| 宜黄县| 平罗县| 靖远县| 呈贡县| 偏关县| 泽州县| 兴城市| 山东省| 金乡县| 商南县| 从化市| 外汇| 上饶市| 湘西| 垫江县| 万安县| 会宁县| 泗阳县| 曲阜市| 五家渠市| 鲁山县| 中方县| 西和县| 遵化市| 长岛县| 依兰县| 邢台市| 安康市| 巴林右旗| 林州市| 江陵县| 呼和浩特市| 钟祥市| 和田县|