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

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.

主站蜘蛛池模板: 宣城市| 花莲县| 玛沁县| 永平县| 峨边| 民权县| 渭源县| 临沂市| 如东县| 淮阳县| 玉林市| 西和县| 高阳县| 鄂伦春自治旗| 兴义市| 洪湖市| 商河县| 拜泉县| 香港| 岳池县| 临泽县| 建水县| 惠州市| 沙坪坝区| 嘉荫县| 临汾市| 麻江县| 衢州市| 隆林| 吴川市| 乳山市| 军事| 合山市| 乐安县| 扶风县| 沂源县| 开远市| 封丘县| 博客| 水富县| 邮箱|