提交 82cf2cca 编写于 作者: W wizardforcel

2020-06-30 09:58:50

上级 be500246
# Kotlin 流量控制
\ No newline at end of file
# Kotlin 流程控制
\ No newline at end of file
......@@ -36,7 +36,7 @@ fun main(args: Array<String>) {
现在,为了将两者结合起来,我们使用 arraycopy()函数将两个数组中的每个元素都复制为结果。
简单来说,`arraycopy(array1, 0, result, 0, aLen)`函数告诉程序将`array1`从索引`0`开始复制到`结果`从索引`0`复制到`aLen`
简单来说,`arraycopy(array1, 0, result, 0, aLen)`函数告诉程序将`array1`从索引`0`开始复制到`result`从索引`0`复制到`aLen`
同样,对于`arraycopy(array2, 0, result, aLen, bLen)`告诉程序从索引`0`开始将`array2`从索引`aLen`复制到`bLen`
......@@ -75,12 +75,12 @@ When you run the program, the output will be:
[1, 2, 3, 4, 5, 6]
```
在上述程序中,我们不使用`arraycopy`,而是将两个数组`array1``array2`的每个元素手动复制到`结果`
在上述程序中,我们不使用`arraycopy`,而是将两个数组`array1``array2`的每个元素手动复制到`result`
我们存储`结果`所需的`总长度`,即`array1.length + array2\. length`。 然后,我们创建一个新的长度数组结果。
我们存储`result`所需的`总长度`,即`array1.length + array2\. length`。 然后,我们创建一个新的长度数组结果。
现在,我们使用 for-each 循环遍历`array1`的每个元素,并将其存储在`结果`中。 分配后,我们将位置`pos`增加 1 `pos++`
现在,我们使用 for-each 循环遍历`array1`的每个元素,并将其存储在`result`中。 分配后,我们将位置`pos`增加 1 `pos++`
同样,我们对`array2`执行相同的操作,并将每个元素从`array1`之后的位置存储在`结果`中。
同样,我们对`array2`执行相同的操作,并将每个元素从`array1`之后的位置存储在`result`中。
以下是等效的 Java 代码:[用于连接两个数组](/java-programming/examples/concatenate-two-arrays "Java program to concatenate two arrays")的 Java 程序。
\ No newline at end of file
# Kotlin 如果表达
# Kotlin `if`表达式
> 原文: [https://www.programiz.com/kotlin-programming/if-expression](https://www.programiz.com/kotlin-programming/if-expression)
#### 在本文中,您将借助示例学习在 Kotlin 中使用 if 表达式。
#### 在本文中,您将借助示例学习在 Kotlin 中使用`if`表达式。
## if ... else 的传统用法
## `if...else`的传统用法
if ... else 的语法是:
`if...else`的语法是:
```kt
if (testExpression) {
......@@ -17,11 +17,11 @@ else {
}
```
如果将`testExpression`评估`true`,则`if`执行代码的特定部分。 它可以具有可选的`else`子句。 如果`testExpression`为假,则执行`else`子句中的代码。
如果将`testExpression`求值`true`,则`if`执行代码的特定部分。 它可以具有可选的`else`子句。 如果`testExpression`为假,则执行`else`子句中的代码。
* * *
### 示例:if ... else 的传统用法
### 示例:`if...else`的传统用法
```kt
fun main(args: Array<String>) {
......@@ -45,7 +45,7 @@ Negative number
* * *
## Kotlin 如果表达
## Kotlin `if`表达式
与 Java(以及其他许多编程语言)不同,`if`可以在 Kotlin 中用作表达式; 它返回一个值。 **推荐读物**[Kotlin 表达](/kotlin-programming/statement-expression#expressions "Kotlin Expression")
......@@ -53,7 +53,7 @@ Negative number
这是一个例子:
### 示例:如果表达式为 Kotin
### 示例:Kotin `if`表达式
```kt
fun main(args: Array<String>) {
......@@ -91,11 +91,11 @@ fun main(args: Array<String>) {
}
```
这类似于 Java 中的[三元运算符。 因此,在 Kotlin 中没有三元运算符。](/java-programming/ternary-operator "Java ternary operator.")
这类似于 Java 中的[三元运算符](/java-programming/ternary-operator "Java ternary operator.")。因此,在 Kotlin 中没有三元运算符。
* * *
### 示例:if 块具有多个表达式
### 示例:具有多个表达式的`if`块
如果`if`分支的块包含多个表达式,则最后一个表达式作为该块的值返回。
......@@ -127,17 +127,17 @@ max variable holds value of a.
max = -9
```
**推荐读物***Kotlin 在声明*
**推荐读物***Kotlin `when`语句*
* * *
## Kotlin if..else..if 阶梯
## Kotlin `if..else..if`阶梯
您可以使用`if..else...if`梯形图在 Kotlin 中的许多块中返回一个代码块。
您可以使用`if..else...if`阶梯在 Kotlin 中的许多块中返回一个代码块。
* * *
### 例如:if ... else ... if Ladder
### 例如:`if..else..if`阶梯
```kt
fun main(args: Array<String>) {
......@@ -166,7 +166,7 @@ fun main(args: Array<String>) {
* * *
### 示例:如果表达式嵌套
### 示例:嵌套`if`表达式
该程序计算三个数字中最大的数字。
......
# Kotlin 程序将地图(HashMap)转换为列表
# Kotlin 程序将映射(HashMap)转换为列表
> 原文: [https://www.programiz.com/kotlin-programming/examples/convert-map-list](https://www.programiz.com/kotlin-programming/examples/convert-map-list)
#### 在此程序中,您将学习在 Kotlin 中将地图转换为列表的不同技术。
#### 在此程序中,您将学习在 Kotlin 中将映射转换为列表的不同技术。
## 示例:将地图转换为列表
## 示例:将映射转换为列表
```kt
import java.util.ArrayList
......
# 表达时的科特琳
# Kotlin `when`表达式
> 原文: [https://www.programiz.com/kotlin-programming/when-expression](https://www.programiz.com/kotlin-programming/when-expression)
#### 在本文中,您将借助各种示例来了解在 Kotlin 中何时进行构造。
#### 在本文中,您将借助各种示例来了解在 Kotlin 中的`when`构造。
## 构建时的 Kotlin
## Kotlin `when`构造
可以认为 Kotlin 中的`when`构造是 [Java switch 语句](/java-programming/hello-world)的替代。 它评估许多替代方案中的一段代码。
可以认为 Kotlin 中的`when`构造是 [Java `switch`语句](/java-programming/hello-world)的替代。 它求值许多替代方案中的一段代码。
* * *
### 示例:表达时简单
### 示例:简单`when`表达式
```kt
fun main(args: Array<String>) {
......@@ -42,9 +42,9 @@ Enter operator either +, -, * or /
result = 60
```
上面的程序从用户那里获取输入字符串(建议阅读:[从 Kotlin 的](/kotlin-programming/input-output#input-string)中获取用户的字符串输入)。 假设用户输入了`*`。 在这种情况下,对表达式`a * b`求值,并将该值分配给变量`结果`
上面的程序从用户那里获取输入字符串(建议阅读:[在 Kotlin 中获取用户的字符串输入](/kotlin-programming/input-output#input-string))。 假设用户输入了`*`。 在这种情况下,对表达式`a * b`求值,并将该值分配给变量`result`
如果不满足任何分支条件(用户输入`+``-``*``/`除外),则评估`else`分支。
如果不满足任何分支条件(用户输入`+``-``*``/`除外),则求值`else`分支。
* * *
......@@ -131,7 +131,7 @@ A positive number between 10 and 100 (inclusive)
**检查值是否为特定类型。**
要在运行时检查值是否为特定类型,我们可以使用 [is 和!is 运算符](https://kotlinlang.org/docs/reference/typecasts.html)。 例如,
要在运行时检查值是否为特定类型,我们可以使用[`is`和`!is`运算符](https://kotlinlang.org/docs/reference/typecasts.html)。 例如,
```kt
when (x) {
......
# Kotlin 程序按值对地图排序
# Kotlin 程序按值对映射排序
> 原文: [https://www.programiz.com/kotlin-programming/examples/sort-map-values](https://www.programiz.com/kotlin-programming/examples/sort-map-values)
#### 在此程序中,您将学习按 Kotlin 中的值对给定的地图进行排序。
#### 在此程序中,您将学习按 Kotlin 中的值对给定的映射进行排序。
## 示例:按值对地图排序
## 示例:按值对映射排序
```kt
fun main(args: Array<String>) {
......@@ -37,7 +37,7 @@ Key: United States Value: Washington
在上述程序中,我们将`HashMap`和国家/地区及其各自的首都存储在变量`大写字母`中。
为了对地图进行排序,我们使用在一行中执行的一系列操作:
为了对映射进行排序,我们使用在一行中执行的一系列操作:
```kt
val result = capitals.toList().sortedBy { (_, value) -> value}.toMap()
......@@ -45,6 +45,6 @@ val result = capitals.toList().sortedBy { (_, value) -> value}.toMap()
* 首先,使用`toList()``大写字母`转换为列表。
* 然后,`sortedBy()`用于按值`{ (_, value) -> value}`对列表进行排序。 我们将`_`用于密钥,因为我们不使用它进行排序。
* 最后,我们使用`toMap()`将其转换回地图,并将其存储在`结果`中。
* 最后,我们使用`toMap()`将其转换回映射,并将其存储在`result`中。
以下是等效的 Java 代码: [Java 程序,用于通过值](/java-programming/examples/sort-map-values "Java program to sort a map by values")对映射进行排序。
\ No newline at end of file
# Kotlin while 和 do ... while 循环
# Kotlin while 和 do...while 循环
> 原文: [https://www.programiz.com/kotlin-programming/while-loop](https://www.programiz.com/kotlin-programming/while-loop)
#### 循环在编程中用于重复特定的代码块。 在本文中,您将学习在 Kotlin 编程中创建 while 和 do ... while 循环。
#### 循环在编程中用于重复特定的代码块。 在本文中,您将学习在 Kotlin 编程中创建 while 和 do...while 循环。
循环在编程中用于重复特定的代码块,直到满足特定条件为止(测试表达式为`false)`)。
......@@ -10,7 +10,7 @@
您将在示例的帮助下了解两个循环`while``do..while`
如果您熟悉 Java 中的 [while 和 do ... while 循环,那么您也已经熟悉 Kotlin 中的这些循环。](/java-programming/do-while-loop "Java while and do...while Loop")
如果您熟悉 Java 中的 [while 和 do...while 循环,那么您也已经熟悉 Kotlin 中的这些循环。](/java-programming/do-while-loop "Java while and do...while Loop")
* * *
......@@ -26,30 +26,30 @@ while (testExpression) {
* * *
### while 循环如何工作?
### `while`循环如何工作?
括号内的测试表达式是[布尔型](/kotlin-programming/variable-types#boolean "Kotlin Boolean type")表达式。
如果测试表达式的计算结果为`true`
* while 循环内的语句被执行。
* 然后,再次评估测试表达式。
* `while`循环内的语句被执行。
* 然后,再次求值测试表达式。
该过程一直进行到测试表达式被评估`false`为止。
该过程一直进行到测试表达式被求值`false`为止。
如果测试表达式的计算结果为`false`
* while 循环终止。
* `while`循环终止。
* * *
### While 循环流程图
### `While`循环流程图
![Kotlin while Loop Flowchart](img/69bcd7638f965b92cca3ec582adc1896.png)
* * *
### 示例:循环播放 Kotlin
### 示例:Kotlin `while`循环
```kt
// Program to print line 5 times
......@@ -75,7 +75,7 @@ Line 4
Line 5
```
注意,`while`循环内的`++i`语句。 在 5 次迭代之后,变量`i`将增加到 6。然后,将测试表达式`i <= 5`评估`false`,然后循环终止。
注意,`while`循环内的`++i`语句。 在 5 次迭代之后,变量`i`将增加到 6。然后,将测试表达式`i <= 5`求值`false`,然后循环终止。
* * *
......@@ -106,7 +106,7 @@ When you run the program, the output will be:
sum = 5050
```
在此,变量`和`初始化为 0,并且`i`初始化为 100。在 while 循环的每次迭代中,变量`和`被分配为`sum + i`,并且`i`的值减小 1,直到`i`等于 0。
在此,变量`sum`初始化为 0,并且`i`初始化为 100。在 while 循环的每次迭代中,变量`sum`被分配为`sum + i`,并且`i`的值减小 1,直到`i`等于 0。
```kt
1st iteration: sum = 0+100 = 100, i = 99
......@@ -118,11 +118,11 @@ sum = 5050
100th iteration: sum = 5049+1 = 5050, i = 0 (then loop terminates)
```
要了解有关测试表达式及其评估方式的更多信息,请访问[比较](/kotlin-programming/operators#comparison-equality "Kotlin comparison Operators")[逻辑运算符](/kotlin-programming/operators#logical "Kotlin Logical Operators")
要了解有关测试表达式及其求值方式的更多信息,请访问[比较](/kotlin-programming/operators#comparison-equality "Kotlin comparison Operators")[逻辑运算符](/kotlin-programming/operators#logical "Kotlin Logical Operators")
* * *
## Kotlin 做... while 循环
## Kotlin `do...while`循环
`do...while`循环类似于`while`循环,但有一个按键差异。 在检查测试表达式之前,`do...while`循环的主体将执行一次。
......@@ -136,27 +136,27 @@ do {
* * *
### ... while 循环如何工作?
### `do...while`循环如何工作?
`do`构造体内的代码只执行一次(无需检查`testExpression`)。 然后,检查测试表达式。
如果将测试表达式评估为`true`,则执行循环体内的代码,然后再次评估测试表达式。 该过程一直进行到测试表达式被评估`false`为止。
如果将测试表达式求值为`true`,则执行循环体内的代码,然后再次求值测试表达式。 该过程一直进行到测试表达式被求值`false`为止。
当测试表达式评估`false`时,`do..while`循环终止。
当测试表达式求值`false`时,`do..while`循环终止。
* * *
### do ... while 循环的流程图
### `do...while`循环的流程图
![Kotlin do...while Loop flowchart](img/0f29f5731fdfd70e287633a0e825620f.png)
* * *
### 示例:Kotlin do ... while 循环
### 示例:Kotlin `do...while`循环
下面的程序计算用户输入的数字总和,直到用户输入 0。
要从用户处获取输入,请使用`readline()`功能**推荐读物**[Kotlin 基本输入](/kotlin-programming/input-output#input)
要从用户处获取输入,请使用`readline()`函数**推荐读物**[Kotlin 基本输入](/kotlin-programming/input-output#input)
```kt
fun main(args: Array<String>) {
......
# Kotlin for Loop
# Kotlin `for`循环
> 原文: [https://www.programiz.com/kotlin-programming/for-loop](https://www.programiz.com/kotlin-programming/for-loop)
#### Kotlin 中的 for 循环会迭代提供迭代器的所有内容。 在本文中,您将学习创建 for 循环(借助示例)。
#### Kotlin 中的 `for`循环会迭代提供迭代器的所有内容。 在本文中,您将学习创建`for`循环(借助示例)。
与 Java 和其他语言不同,Kotlin 中没有传统的 [for 循环](/java-programming/for-loop "Java traditional for loop")
与 Java 和其他语言不同,Kotlin 中没有传统的[`for`循环](/java-programming/for-loop "Java traditional for loop")
在 Kotlin 中,`for`循环用于遍历范围,数组,映射等(提供迭代器的任何对象)。
......@@ -53,7 +53,7 @@ fun main(args: Array<String>) {
* * *
可以使用`for`循环遍历一个范围,因为 range 提供了一个迭代器。 要了解更多信息,请访问 *Kotlin 迭代器*
可以使用`for`循环遍历一个范围,因为`range`提供了一个迭代器。 要了解更多信息,请访问 *Kotlin 迭代器*
* * *
......@@ -203,4 +203,4 @@ n
* * *
*Kotin 地图*文章中,您将学习使用`for`循环遍历地图。
\ No newline at end of file
*Kotin 映射*文章中,您将学习使用`for`循环遍历映射。
\ No newline at end of file
# Kotlin 打破表情
# Kotlin `break`表达式
> 原文: [https://www.programiz.com/kotlin-programming/break](https://www.programiz.com/kotlin-programming/break)
#### 在本教程中,您将学习使用 break 终止循环。 此外,您还将了解中断标签。
#### 在本教程中,您将学习使用`break`终止循环。 此外,您还将了解`break`标签。
假设您正在使用循环。 有时希望不检查测试表达式就立即终止循环。
在这种情况下,将使用`break`。 遇到时,它将终止最近的封闭循环(无需检查测试表达式)。 这类似于 [break 语句在 Java](/java-programming/break-statement "Java break Statement") 中的工作方式。
在这种情况下,将使用`break`。 遇到时,它将终止最近的封闭循环(无需检查测试表达式)。 这类似于[`break`语句在 Java](/java-programming/break-statement "Java break Statement") 中的工作方式。
* * *
## 中断如何工作?
## `break`如何工作?
if..else 构造几乎总是与[一起使用。 例如,](/kotlin-programming/if-expression "Kotlin if...else")
`break`构造几乎总是与[`if..else`](/kotlin-programming/if-expression "Kotlin if...else")一起使用。 例如,
```kt
for (...) {
......@@ -22,13 +22,13 @@ for (...) {
}
```
如果将`testExpression`评估`true`,则将执行`break`,从而终止`for`循环。
如果将`testExpression`求值`true`,则将执行`break`,从而终止`for`循环。
![Kotlin break](img/883ed53898fb6ecf0fdad2042b5ff270.png)
* * *
### 范例:Kotlin 中断
### 范例:Kotlin `break`
```kt
fun main(args: Array<String>) {
......@@ -52,7 +52,7 @@ fun main(args: Array<String>) {
```
`i`的值等于 5 时,将`if`内部的表达式`i == 5`评估为`true`,并执行`break`。 这终止了循环的[](/kotlin-programming/for-loop "Java for Loop")
`i`的值等于 5 时,将`if`内部的表达式`i == 5`求值为`true`,并执行`break`[这终止了`for`循环](/kotlin-programming/for-loop "Java for Loop")
* * *
......@@ -138,13 +138,13 @@ i = 1; j = 2
i = 2; j = 1
```
在此,当将`i == 2`表达式评估`true`时,将执行`break@first`,从而终止标记为`first@`的循环。
在此,当将`i == 2`表达式求值`true`时,将执行`break@first`,从而终止标记为`first@`的循环。
* * *
这是上述程序的一些变体。
在下面的程序中,break 终止带有标签`@second.`的循环
在下面的程序中,`break`终止带有标签`@second.`的循环
```kt
fun main(args: Array<String>) {
......@@ -180,5 +180,5 @@ i = 4; j = 2
Kotlin 中有 3 个结构跳转表达式:`break``continue``return`。 要了解`continue``return`表达,请访问:
* *Kotlin 继续*
* *Kotlin 功能*
\ No newline at end of file
* *Kotlin `continue`*
* *Kotlin 函数*
\ No newline at end of file
# Kotlin 继续表达
# Kotlin `continue`表达式
> 原文: [https://www.programiz.com/kotlin-programming/continue](https://www.programiz.com/kotlin-programming/continue)
......@@ -25,13 +25,13 @@ while (testExpression1) {
}
```
如果将`testExpression2`评估`true`,则将执行`continue`,在该迭代之后,它会跳过`while`循环内的所有代码。
如果将`testExpression2`求值`true`,则将执行`continue`,在该迭代之后,它会跳过`while`循环内的所有代码。
![How continue expression works in Kotlin?](img/fe78962e055b69a869b8de76b8ff3a34.png)
* * *
### 示例:Kotlin 继续
### 示例:Kotlin `continue`
```kt
fun main(args: Array<String>) {
......@@ -115,13 +115,13 @@ sum = 31
* * *
## Kotlin 标记为继续
## Kotlin `continue`标签
到目前为止,您所学到的是`continue`的未标记形式,它跳过了最近的封闭循环的当前迭代。 通过使用`continue`标签,`continue`也可用于跳过所需循环(可以是外部循环)的迭代。
* * *
### 标记为 Continue 的作品如何?
### `continue`标签如何工作
![How labeled continue works?](img/e1ed997396ca989cdd309d35f2e28c3b.png)
......@@ -162,5 +162,5 @@ i = 5; j = 1
Kotlin 中有 3 个结构跳转表达式:`break``continue``return`。 要了解`break``return`表达,请访问:
* *科特林断裂*
* *Kotlin 功能*
\ No newline at end of file
* *Kotlin `break`*
* *Kotlin 函数*
\ No newline at end of file
......@@ -2,14 +2,14 @@
> 原文: [https://www.programiz.com/kotlin-programming/functions](https://www.programiz.com/kotlin-programming/functions)
#### 在本文中,您将学习函数。 什么是功能,其语法以及如何在 Kotlin 中创建用户功能
#### 在本文中,您将学习函数。 什么是函数,其语法以及如何在 Kotlin 中创建用户函数
在编程中,函数是一组执行特定任务的相关语句。
函数用于将大型程序分解为较小的模块化块。 例如,您需要根据用户的输入来创建圆圈并为其着色。 您可以创建两个函数来解决此问题:
* `createCircle()`功能
* `colorCircle()`功能
* `createCircle()`函数
* `colorCircle()`函数
将复杂的程序划分为较小的组件可以使我们的程序更有条理和更易于管理。
......@@ -17,20 +17,20 @@
* * *
## 功能类型
## 函数类型
根据用户定义的功能还是[标准库](https://kotlinlang.org/api/latest/jvm/stdlib/ "Kotlin standard Library")中可用的功能,有两种类型的功能
根据用户定义的函数还是[标准库](https://kotlinlang.org/api/latest/jvm/stdlib/ "Kotlin standard Library")中可用的函数,有两种类型的函数
* Kotlin 标准库功能
* 用户定义的功能
* Kotlin 标准库函数
* 用户定义的函数
* * *
### Kotlin 标准库功能
### Kotlin 标准库函数
标准库函数是 Kotlin 中的内置函数,可以随时使用。 例如,
* `print()`是一种库功能,可将消息打印到标准输出流(监视器)。
* `print()`是一种库函数,可将消息打印到标准输出流(监视器)。
* `sqrt()`返回数字的平方根(`Double`值)
```kt
......@@ -51,9 +51,9 @@ Result = 2.345207879911715
* * *
### 用户定义的功能
### 用户定义的函数
如前所述,您可以自己创建函数。 这些功能称为用户定义功能
如前所述,您可以自己创建函数。 这些函数称为用户定义函数
* * *
......@@ -70,7 +70,7 @@ fun callMe() {
```
要在 Kotlin 中定义功能,请使用`fun`关键字。 然后是函数的名称([标识符](/kotlin-programming/keywords-identifiers#identifiers "Kotlin identifiers"))。 在此,函数的名称为`callMe`
要在 Kotlin 中定义函数,请使用`fun`关键字。 然后是函数的名称([标识符](/kotlin-programming/keywords-identifiers#identifiers "Kotlin identifiers"))。 在此,函数的名称为`callMe`
在上述程序中,括号`( )`为空。 这意味着此函数不接受任何参数。 您将在本文的后面部分了解参数。
......@@ -92,7 +92,7 @@ callme()
* * *
### 示例:简单功能程序
### 示例:简单函数程序
```kt
fun callMe() {
......@@ -173,15 +173,15 @@ result = addNumbers(number1, number2)
return sumInteger
```
return 语句。 该代码终止`addNumbers()`功能,程序控制跳至`main()`功能
`return`语句。 该代码终止`addNumbers()`函数,程序控制跳至`main()`函数
在程序中,从`addNumbers()`函数返回`sumInteger`。 该值分配给变量`结果`
在程序中,从`addNumbers()`函数返回`sumInteger`。 该值分配给变量`result`
![Return value from a function in Kotlin](img/276d39e8ee56ea92aff7db217a1685b4.png)
注意,
* `sumInteger``结果`均为`Int`类型。
* `sumInteger``result`均为`Int`类型。
* 函数的返回类型在函数定义中指定。
```kt
......@@ -195,7 +195,7 @@ return sumInteger
* * *
### 示例:使用功能显示名称
### 示例:使用函数显示名称
```kt
fun main(args: Array<String>) {
......@@ -230,13 +230,13 @@ fun getName(firstName: String, lastName: String) = "$firstName $lastName"
* * *
这只是 Kotlin 中功能的简要介绍。 与功能有关的推荐文章:
这只是 Kotlin 中函数的简要介绍。 与函数有关的推荐文章:
* *Kotlin 内联函数*
* *Kotlin 中缀函数*
* *Kotlin 功能范围*
* *Kotlin 函数范围*
* *Kotlin 默认参数和命名参数*
* *Kotlin 递归*
* *Kotlin 尾递归函数*
* *Kotlin 扩展功能*
* *Kotlin 高阶函数& Lambdas*
\ No newline at end of file
* *Kotlin 扩展函数*
* *Kotlin 高阶函数和 Lambdas*
\ No newline at end of file
......@@ -2,7 +2,7 @@
> 原文: [https://www.programiz.com/kotlin-programming/infix-notation](https://www.programiz.com/kotlin-programming/infix-notation)
#### 在本文中,您将学习使用 int 表示法在 Kotlin 中调用函数(借助示例)。
#### 在本文中,您将学习使用`int`表示法在 Kotlin 中调用函数(借助示例)。
在学习如何创建具有中缀表示法的函数之前,让我们探索两个常用的中缀函数。
......@@ -12,7 +12,7 @@
* * *
### 示例:Kotlin 或&和功能
### 示例:Kotlin `or`和`and`函数
```kt
fun main(args: Array<String>) {
......
......@@ -22,7 +22,7 @@
函数`foo()`具有两个参数。 参数提供有默认值。 但是,通过在上述程序中传递两个参数来调用`foo()`。 因此,不使用默认参数。
`foo()`功能内,`字母``数字`的值分别为`'x'``2`
`foo()`函数内,`字母``数字`的值分别为`'x'``2`
**情况 II:未传递所有参数**
......@@ -32,7 +32,7 @@
在此,仅一个(第一个)参数传递给`foo()`函数。 因此,第一个参数使用传递给函数的值。 但是,第二个参数`编号`将采用默认值,因为在函数调用期间未传递第二个参数。
`foo()`功能内,`字母``数字`的值分别为`'y'``15`
`foo()`函数内,`字母``数字`的值分别为`'y'``15`
**情况 III:不传递任何参数**
......@@ -42,7 +42,7 @@
在此,不传递任何参数就调用`foo()`函数。 因此,两个参数都使用其默认值。
`foo()`功能内,`字母``数字`的值分别为`'a'``15`
`foo()`函数内,`字母``数字`的值分别为`'a'``15`
* * *
......
......@@ -33,7 +33,7 @@ fun recurse() {
在这里,递归调用将永远持续下去,从而导致无限递归。
为了避免无限递归,可以在一个分支进行递归调用而另一分支不递归的情况下使用 [if ... else](/kotlin-programming/if-expression "C++ if...else") (或类似方法)。
为了避免无限递归,可以在一个分支进行递归调用而另一分支不递归的情况下使用 [if...else](/kotlin-programming/if-expression "C++ if...else") (或类似方法)。
* * *
......
......@@ -210,7 +210,7 @@ l2 Lamp is off.
* `Lamp`类已创建。
* 该类具有`isOn`属性和三个成员函数`turnOn()``turnOff()``displayLightStatus()`
*`main()`功能中创建了`灯`类的两个对象`l1``l2`
*`main()`函数中创建了`灯`类的两个对象`l1``l2`
* 在此,使用`l1`对象:`l1.turnOn()`调用`turnOn()`函数。 此方法将`l1`对象的`isOn`实例变量设置为`true`
* 并且,使用`l2`对象:`l1.turnOff()`调用`turnOff()`函数。 此方法将`l2`对象的`isOff`实例变量设置为`false`
* 然后,针对`l1``l2`对象调用`displayLightStatus()`函数,这些对象根据`的 On`属性是`true`还是[ `false`
......
......@@ -38,11 +38,11 @@ Hello, World!
以`//`开头的任何行都是 Kotlin 中的注释(类似于 Java)。 注释将被编译器忽略。 它们旨在供阅读代码的人员更好地了解该程序的意图和功能。 要了解更多信息,请访问 *Kotlin 注释*。
2. `fun main(args : Array<String>) { ... }`
这是`main`功能,在每个 Kotlin 应用程序中都是必需的。 Kotlin 编译器开始从`main`函数执行代码。
这是`main`函数,在每个 Kotlin 应用程序中都是必需的。 Kotlin 编译器开始从`main`函数执行代码。
该函数将字符串数组作为参数并返回`Unit`。 您将在后面的章节中了解函数和参数。
现在,请记住`main`函数是强制性函数,它是每个 Kotlin 程序的入口。`main`功能的签名为:
现在,请记住`main`函数是强制性函数,它是每个 Kotlin 程序的入口。`main`函数的签名为:
```kt
fun main(args : Array<String>) {
......
......@@ -13,7 +13,7 @@ data class Person(val name: String, var age: Int)
对于此类,编译器会自动生成:
* 主要构造函数的`copy()`函数,`equals()``hashCode()`对以及`toString()`形式
* `componentN()`功能
* `componentN()`函数
在详细讨论这些功能之前,让我们讨论数据类必须满足的要求。
......
......@@ -30,7 +30,7 @@ The sum is: 30
然后,使用`+`运算符将`首先``第二`相加,并将其结果存储在另一个变量`sum`中。
最后,使用`println()`功能`和`打印在屏幕上。
最后,使用`println()`函数`和`打印在屏幕上。
* * *
......
......@@ -34,7 +34,7 @@ The product is: 3.0
然后使用`*`运算符将`第一``第二`相乘,并将结果存储在新的浮点变量`乘积`中。
最后,使用`println()`功能将结果`产品`打印在屏幕上。
最后,使用`println()`函数将结果`产品`打印在屏幕上。
* * *
......
......@@ -30,7 +30,7 @@ The ASCII value of a is: 97
然后将该转换后的值存储在变量`ascii`中。
最后,我们使用`println()`功能打印`ascii`值。
最后,我们使用`println()`函数打印`ascii`值。
* * *
......
......@@ -37,7 +37,7 @@ Remainder = 1
同样,要找到余数,我们使用`%`运算符。 因此,`25/4`的其余部分,即`1`存储在`Int`变量`剩余部分`中。
最后,使用`println()`功能在屏幕上打印`商``余数`
最后,使用`println()`函数在屏幕上打印`商``余数`
* * *
......
......@@ -2,9 +2,9 @@
> 原文: [https://www.programiz.com/kotlin-programming/examples/even-odd](https://www.programiz.com/kotlin-programming/examples/even-odd)
#### 在该程序中,您将学习检查用户输入的数字是偶数还是奇数。 这将通过 Kotlin 中 if ... else 的两个变体完成。
#### 在该程序中,您将学习检查用户输入的数字是偶数还是奇数。 这将通过 Kotlin 中 if...else 的两个变体完成。
## 示例 1:使用 if ... else 语句检查数字是偶数还是奇数
## 示例 1:使用 if...else 语句检查数字是偶数还是奇数
```kt
import java.util.*
......@@ -36,11 +36,11 @@ Enter a number: 12
为此,我们在 Java 中使用`if...else`语句。 如果`编号`可被`2`整除,则我们打印`编号`是偶数。 否则,我们打印`num`是奇怪的。
我们也可以通过使用 if ... else 作为表达式来检查`num`是偶数还是奇数。
我们也可以通过使用 if...else 作为表达式来检查`num`是偶数还是奇数。
* * *
## 示例 2:使用 if ... else 表达式检查数字是偶数还是奇数
## 示例 2:使用 if...else 表达式检查数字是偶数还是奇数
```kt
import java.util.*
......@@ -65,7 +65,7 @@ Enter a number: 13
13 is odd
```
与 Java 不同,在 Kotlin 中 if ... else 语句也是表达式。 因此,您可以将`if...else`语句的返回值存储到`variable`中。 这是 Kotlin 中 Java 三元运算符`(? :)`的替代。
与 Java 不同,在 Kotlin 中 if...else 语句也是表达式。 因此,您可以将`if...else`语句的返回值存储到`variable`中。 这是 Kotlin 中 Java 三元运算符`(? :)`的替代。
这是 Java 中的等效代码:[检查 Java 中数字是偶数还是奇数](/java-programming/examples/even-odd "Java Program to Check Whether a Number is Even or Odd")
......
......@@ -32,6 +32,6 @@ Number of digits: 7
* 在第二次迭代后,`n` um 的值将为 34,并且`计数`递增为 2。
* 在第三次迭代后,`num`的值将为 3,并且`计数`增至 3。
* 第四次迭代后,`num`的值将为 0,并且`计数`增至 4。
* 然后将测试表达式评估为 false 并终止循环。
* 然后将测试表达式求值为 false 并终止循环。
以下是等效的 Java 代码: [Java 程序,用于对整数](/java-programming/examples/digits-count "Java Program to Count Number of Digits in an Integer")中的位数进行计数
\ No newline at end of file
......@@ -29,9 +29,9 @@ Answer = 81
在此程序中,`基``指数`分别分配了值 3 和 4。
使用 while 循环,我们继续将`结果``基数`相乘,直到`指数`变为零。
使用 while 循环,我们继续将`result``基数`相乘,直到`指数`变为零。
在这种情况下,我们将`结果`乘以基数总共四次,因此`结果` = 1 * 3 * 3 * 3 * 3 =81。我们还需要强制转换`基数``Long`,因为`结果`仅接受`Long`,而 Kotlin 专注于类型安全。
在这种情况下,我们将`result`乘以基数总共四次,因此`result` = 1 * 3 * 3 * 3 * 3 =81。我们还需要强制转换`基数``Long`,因为`result`仅接受`Long`,而 Kotlin 专注于类型安全。
但是,与 Java 中一样,如果指数为负,则以上代码将不起作用。 为此,您需要在 Kotlin 中使用 pow()函数
......
......@@ -50,10 +50,10 @@ fun main(args: Array<String>) {
* 首先,给定数字(`数字`)的值存储在另一个整数变量`originalNumber`中。 这是因为,我们需要在最后比较最终编号和原始编号的值。
* 然后,使用 while 循环循环遍历`originalNumber`,直到等于 0。
* 在每次迭代中,`编号`的最后一位存储在`余数`中。
* 然后,使用`Math.pow()`功能将`余数`乘以 3(数字位数),并将其添加到`结果`中。
* 然后,使用`Math.pow()`函数将`余数`乘以 3(数字位数),并将其添加到`result`中。
此处,`余下的`被转换为`Double`,因为`pow`仅接受`Double`参数,并且其值再次转换回`Int`
* 然后,除以 10 后,从`originalNumber`中删除最后一位数字。
* 最后,比较`结果``编号`。 如果相等,则为阿姆斯壮数。 如果不是,则不是。
* 最后,比较`result``编号`。 如果相等,则为阿姆斯壮数。 如果不是,则不是。
以下是等效的 Java 代码:[用于检查 Armstrong 编号](/java-programming/examples/armstrong-number "Java Program to Check Armstrong Number")的 Java 程序
......
......@@ -60,4 +60,4 @@ fun main(args: Array<String>) {
在上述程序中,检查了给定间隔高和低之间的每个数字。
每次检查后,`位`的位数和总和`结果`被恢复为 0。
\ No newline at end of file
每次检查后,`位`的位数和总和`result`被恢复为 0。
\ No newline at end of file
......@@ -89,7 +89,7 @@ print("Hey ")
print("jude!")
```
同样,`main()`功能也具有块体。
同样,`main()`函数也具有块体。
```kt
val flag = true
......
......@@ -46,6 +46,6 @@ fun checkPrimeNumber(num: Int): Boolean {
如果数字是素数,则返回`true`。 如果不是,则返回`false`
根据返回值,在`main()`功能内的屏幕上打印数字。
根据返回值,在`main()`函数内的屏幕上打印数字。
以下是等效的 Java 代码:[使用函数](/java-programming/examples/prime-number-function "Java Program to Check Prime Number using Function")检查素数的 Java 程序
\ No newline at end of file
......@@ -56,6 +56,6 @@ fun checkArmstrong(num: Int): Boolean {
如果数字是 armstrong,则返回`true`。 如果不是,则返回`false`
根据返回值,在`main()`功能内的屏幕上打印数字。
根据返回值,在`main()`函数内的屏幕上打印数字。
下面是等效的 Java 代码:[使用功能检查 Armstrong 编号的 Java 程序。](/java-programming/examples/armstrong-number-function "Java Program to Check Armstrong Number using Function")
\ No newline at end of file
......@@ -4,7 +4,7 @@
#### 在该程序中,您将学习检查给定的数字是否可以表示为两个质数之和。 这是通过 Kotlin 中的循环和 break 语句完成的。
为了完成此任务,创建了`checkPrime()`功能
为了完成此任务,创建了`checkPrime()`函数
如果传递给函数的数字是[素数](/kotlin-programming/examples/prime-number "Check prime number in Kotlin programming"),则`checkPrime()`返回 1。
......
......@@ -6,7 +6,7 @@
该程序使用数组计算单个系列的标准偏差。 访问此页面以了解[标准偏差](http://www.mathsisfun.com/data/standard-deviation.html "Standard Deviation")
为了计算标准偏差,创建了`calculateSD()`功能。 包含 10 个元素的数组将传递给该函数,此函数将计算标准偏差并将其返回给`main()`函数。
为了计算标准偏差,创建了`calculateSD()`函数。 包含 10 个元素的数组将传递给该函数,此函数将计算标准偏差并将其返回给`main()`函数。
## 示例:计算标准偏差的程序
......
......@@ -63,7 +63,7 @@ The matrix is:
4 4
```
在上述程序中,`display()`功能仅用于将矩阵的内容打印到屏幕上。
在上述程序中,`display()`函数仅用于将矩阵的内容打印到屏幕上。
在此,给定矩阵的格式为`2x3`,即`row = 2``column = 3`
......
......@@ -6,7 +6,7 @@
## Koltin 输出
您可以使用`println()``print()`功能将输出发送到标准输出(屏幕)。 让我们举个例子:
您可以使用`println()``print()`函数将输出发送到标准输出(屏幕)。 让我们举个例子:
```kt
fun main(args : Array<String>) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册