- Android Development with Kotlin
- Marcin Moskala Igor Wojda
- 306字
- 2021-07-02 18:48:37
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.
- AngularJS入門與進階
- C++ Builder 6.0下OpenGL編程技術
- Hands-On Data Structures and Algorithms with JavaScript
- Python從入門到精通(精粹版)
- 趣學Python算法100例
- Instant 960 Grid System
- Podman實戰
- 鋒利的SQL(第2版)
- C++程序設計基礎教程
- 動手學數據結構與算法
- Practical Game Design with Unity and Playmaker
- 微課學人工智能Python編程
- Machine Learning for Developers
- 程序員的成長課
- 秒懂算法:用常識解讀數據結構與算法