Kotlin 函数
函数是执行特殊任务的代码单元。在编程中,函数用于将代码分解成更小的模块,使程序更易于管理。例如:如果我们必须计算两个数字的总和,那么定义一个有趣的sum() 。
fun sum(a: Int, b: Int): Int {
return a + b
}
我们可以多次调用 sum(x, y),它会返回两个数字的总和。因此,函数避免了代码的重复,使代码更具可重用性。在 Kotlin 中,有两种类型的函数-
- 标准库函数
- 用户定义函数
Kotlin 标准库函数——
在 Kotlin 中,标准库中已经定义了不同数量的内置函数可供使用。我们可以根据要求通过传递参数来调用它们。在下面的程序中,我们将使用内置函数arrayOf() , sum()和println() 。函数arrayOf()需要一些参数,如整数,双精度等来创建一个数组,我们可以使用sum()找到所有元素的总和,它不需要任何参数。
Kotlin
fun main(args: Array) {
var sum = arrayOf(1,2,3,4,5,6,7,8,9,10).sum()
println("The sum of all the elements of an array is: $sum")
}
Kotlin
fun main(args: Array) {
var num1 = 26
var num2 = 3
var result = num1.rem(num2)
println("The remainder when $num1 is divided by $num2 is: $result")
}
Kotlin
fun mul(num1: Int, num2: Int): Int {
var number = num1.times(num2)
return number
}
Kotlin
fun student(name: String , roll_no: Int , grade: Char) {
println("Name of the student is : $name")
println("Roll no of the student is: $roll_no")
println("Grade of the student is: $grade")
}
Kotlin
fun mul(a: Int, b: Int): Int {
var number = a.times(b)
return number
}
fun main(args: Array) {
var result = mul(3,5)
println("The multiplication of two numbers is: $result")
}
Kotlin
fun student( name: String , grade: Char , roll_no: Int) {
println("Name of the student is : $name")
println("Grade of the student is: $grade")
println("Roll no of the student is: $roll_no")
}
fun main(args: Array) {
val name = "Praveen"
val rollno = 25
val grade = 'A'
student(name,grade,rollno)
student("Gaurav",'B',30)
}
输出:
The sum of all the elements of an array is: 55
在下面的程序中,我们将使用rem()来查找余数。
科特林
fun main(args: Array) {
var num1 = 26
var num2 = 3
var result = num1.rem(num2)
println("The remainder when $num1 is divided by $num2 is: $result")
}
输出:
The remainder when 26 is divided by 3 is: 2
不同标准库函数的列表及其用途——
- sqrt() - 用于计算数字的平方根。
- print() - 用于将消息打印到标准输出。
- rem() – 求一个数除以另一个数的余数。
- toInt() – 将数字转换为整数值。
- readline() – 用于标准输入。
- compareTo() – 比较两个数字并返回布尔值。
Kotlin 用户定义函数–
由用户定义的函数称为用户定义函数。众所周知,要将大程序划分为小模块,我们需要定义函数。每个定义的函数都有自己的属性,如函数名、函数返回类型、传递给函数的函数数量等。
创建用户定义函数-
在 Kotlin 中,函数可以声明在顶部,不需要像Java或 Scala 等其他语言那样创建一个类来保存函数。通常我们定义一个函数为:
fun fun_name(a: data_type, b: data_type, ......): return_type {
// other codes
return
}
- fun – 定义函数的关键字。
- fun_name – 稍后用于调用该函数的函数的名称。
- a: data_type – 这里,a 是传递的参数,data_type 指定参数的数据类型,如 integer 或字符串。
- return_type – 指定函数返回的数据值的类型。
- {....} - 花括号代表函数块。
Kotlin函数mul() 将两个具有相同类型参数的数字相乘 -
科特林
fun mul(num1: Int, num2: Int): Int {
var number = num1.times(num2)
return number
}
说明:我们在上面定义了一个以fun关键字开头的函数,其返回类型为整数。
>> mul() is the name of the function
>> num1 and num2 are names of the parameters being accepted by the function
and both are Integer type.
Kotlin函数student() 具有不同类型的参数-
科特林
fun student(name: String , roll_no: Int , grade: Char) {
println("Name of the student is : $name")
println("Roll no of the student is: $roll_no")
println("Grade of the student is: $grade")
}
说明- 我们使用 fun 关键字定义了一个函数,其返回类型默认为 Unit。
>> student is the name of the function.
>> name is the parameter of String data type.
>> roll_no is the parameter of Integer data type
>> grade is the parameter of Character data type
调用用户定义的函数-
我们创建一个函数来分配特定任务。每当调用一个函数时,程序就会离开当前代码段并开始执行该函数。函数的流控制 -
- 程序来到包含函数调用的行。
- 调用函数时,控制权转移到该函数。
- 一个一个地执行函数的所有指令。
- 只有当函数到达右大括号或有任何返回语句时,控制才会被转移回。
- 函数返回的任何数据都用于代替原始代码行中的函数。
Kotlin 程序通过传递两个参数来调用 mul()函数-
科特林
fun mul(a: Int, b: Int): Int {
var number = a.times(b)
return number
}
fun main(args: Array) {
var result = mul(3,5)
println("The multiplication of two numbers is: $result")
}
输出:
The multiplication of two numbers is: 15
说明- 在上面的程序中,我们通过传递两个参数来调用 mul(3, 5)函数。当函数被调用时,控制转移到 mul() 并开始执行块中的语句。使用内置的times()它计算两个数字的倍数并存储在一个变量中。然后它退出函数并返回整数值,并将控制转移回调用 mul() 的 main()。然后我们将函数返回的值存储到可变变量 result 中,println() 将其打印到标准输出。 Kotlin 程序通过传递所有参数来调用 student()函数-
科特林
fun student( name: String , grade: Char , roll_no: Int) {
println("Name of the student is : $name")
println("Grade of the student is: $grade")
println("Roll no of the student is: $roll_no")
}
fun main(args: Array) {
val name = "Praveen"
val rollno = 25
val grade = 'A'
student(name,grade,rollno)
student("Gaurav",'B',30)
}
输出:
Name of the student is : Praveen
Grade of the student is: A
Roll no of the student is: 25
Name of the student is : Gaurav
Grade of the student is: B
Roll no of the student is: 30
说明- 在上面的程序中,我们通过按要求按相同顺序传递参数来调用 student()函数。如果我们试图混淆参数,那么它会给出类型不匹配错误。在第一次调用中,我们使用变量传递参数,在第二次调用中,我们传递参数值而不存储在变量中。因此,这两种方法调用函数都是正确的。