Kotlin 中的变量和函数

变量

在 Kotlin 中定义一个变量,只允许在变量前声明两种关键字:val 和 var

  • val(value)用来声明一个不可变的变量,初始赋值之后就不能再重新赋值,类似 Java 中的 final 关键字
  • var(variable)用来声明一个可变的变量

基于 Kotlin 出色的类型推断机制,只需要这两个关键字即可声明变量,编译器会自动推断变量的类型

var n = 7 // n 是整型
var s = "kotlin" // s 是字符串类型

但是如果对一个变量延迟赋值的话,Kotlin 就无法自动推导它的类型了。此时需要显示地声明变量类型才行,例如:

var n : Int = 7 // n 是整型

在 kotlin 中没有基本数据类型,全部使用对象数据类型

Java 和 Kotlin 数据类型对照表

Java 基本类型 Kotlin
int Int
long Long
short Short
float Float
double Double
boolean Boolean
char Char
byte Byte

tips:永远优先使用 val 来声明一个变量,当 val 无法满足需求时再使用 var。这样设计出来的程序会更加健壮,也更加符合高质量的编码规范

函数

函数是用来运行代码的载体,当运行这个函数时,函数中的代码会被执行。main() 函数就是一个函数,它是一个特殊的函数,是程序的入口函数

Kotlin 中定义函数的规则如下:

/**
 * fun 定义函数的关键字
 * funName 函数名
 * 括号里面是参数
 * 括号后面 : Int 是返回类型
 */
fun funName (param 1: Int, param 2: Int): Int {
    // 函数体
    return 0;
}

定义一个函数,接收两个整型数字,返回大的那个数

fun largeNum(num1: Int, num2: Int): Int {
    return max(num1, num2); // Kotlin 提供的 max 函数
}
  • Kotlin 语法糖
    当一个函数中只有一行代码时,不必再编写函数体,可以直接将唯一的一行代码写到尾部,中间用等号连接。上面 largeNum 函数可简化为以下形式:
fun largeNum(num1: Int, num2: Int): Int = max(num1, num2)

Kotlin 的类型推导机制在此处也可以发挥作用。由于 max() 函数返回的是一个 Int 类型的数据,在 largeNum() 函数的尾部又使用 = 号连接了 max() 函数,因此 Kotlin 可以推导出 largeNum() 的返回值也是 Int 类型,这样就不用显示地声明返回值类型了,代码进一步简化

fun largeNum(num1: Int, num2: Int) = max(num1, num2)

你可能感兴趣的:(kotlin,基础,kotlin,android,java)