基本语法
输出“hello world”
fun main() {
ptintln("Hello World!")
}
自定义变量
不可变变量(使用val)
直接使用
fun main() {
val count: Int = 2
println(count)
}
嵌套在语句中
fun main() {
val count: Int = 2
println("You have $count unread messages.")
}
可变变量(使用var)
fun main() {
var cartTotal = 0
cartTotal = 20
println("Total: $cartTotal")
}
Double变量(Double 可省略)
fun main() {
val trip1: Double = 3.20
val trip2: Double = 4.10
val trip3: Double = 1.72
val totalTripLength: Double = trip1 + trip2 + trip3
println("$totalTripLength miles left to destination")
}
String变量
fun main() {
val nextMeeting = "Next meeting is:"
val date = "January 1"
val reminder = nextMeeting + date
println(reminder)
}
fun main() {
val nextMeeting = "Next meeting is: "
val date = "January 1"
val reminder = nextMeeting + date + " at work"
println(reminder)
}
fun main() {
println("Say \"hello\"")
}
Boolean变量
fun main() {
val notificationsEnabled: Boolean = true
println(notificationsEnabled)
}
fun main() {
val notificationsEnabled: Boolean = false
println("Are notifications enabled? " + notificationsEnabled)
}
注释
/**
* This program displays the number of messages
* in the user's inbox.
*/
fun main() {
// Create a variable for the number of unread messages.
var count = 10
println("You have $count unread messages.")
// Decrease the number of messages by 1.
count--
println("You have $count unread messages.")
}
kotlin运算
两个变量运算
fun main() {
val unreadCount = 5
val readCount = 100
println("You have ${unreadCount + readCount} total messages in your inbox.")
}
自加减
fun main() {
var count = 10
println("You have $count unread messages.")
count = count + 1
println("You have $count unread messages.")
count++
println("You have $count unread messages.")
count--
println("You have $count unread messages.")
}
自定义函数
fun main() {
birthdayGreeting()
}
fun birthdayGreeting() {
println("Happy Birthday, Rover!")
println("You are now 5 years old!")
}
返回值(实参)
Unit
默认情况下,如果您不指定返回值类型,默认返回值类型是 Unit。Unit 表示函数并不会返回值。
Unit 相当于其他语言中的 void 返回值类型(在 Java 和 C 中为 void;在 Swift 中为Void/空元组 ();
在 Python 中为 None 等)。任何不返回值的函数都会隐式返回 Unit。您可以通过修改代码以返回 Unit 来观察此情况。
fun birthdayGreeting(): Unit {
println("Happy Birthday, Rover!")
println("You are now 5 years old!")
}
String
fun main() {
val greeting = birthdayGreeting()
println(greeting)
}
/**
* 或者也可以这样写主函数
* fun main() {
* println(birthdayGreeting())
* }
*/
fun birthdayGreeting(): String {
val nameGreeting = "Happy Birthday, Rover!"
val ageGreeting = "You are now 5 years old!"
return "$nameGreeting\n$ageGreeting"
}
形参
fun main() {
println(birthdayGreeting("Rover"))
}
fun birthdayGreeting(name: String): String {
val nameGreeting = "Happy Birthday, $name!"
val ageGreeting = "You are now 5 years old!"
return "$nameGreeting\n$ageGreeting"
}
多个形参
fun main() {
println(birthdayGreeting("Rover", 5))
println(birthdayGreeting("Rex", 2))
}
fun birthdayGreeting(name: String, age: Int): String {
val nameGreeting = "Happy Birthday, $name!"
val ageGreeting = "You are now $age years old!"
return "$nameGreeting\n$ageGreeting"
}
具名实参
fun main() {
println(birthdayGreeting(name = "Rex", age = 2))
}
fun birthdayGreeting(name: String, age: Int): String {
val nameGreeting = "Happy Birthday, $name!"
val ageGreeting = "You are now $age years old!"
return "$nameGreeting\n$ageGreeting"
}
默认实参
fun main() {
println(birthdayGreeting(age = 5))
println(birthdayGreeting("Rex", 2))
println(birthdayGreeting(age = 5))
println(birthdayGreeting(age = 2))
}
fun birthdayGreeting(name: String = "Rover", age: Int): String {
return "Happy Birthday, $name! You are now $age years old!"
}
Kotlin 数据类型 | 可包含的数据类型 | 字面量值示例 |
---|---|---|
String | 文本 | "Add contact" |
Int | 整数 | 32 -123456 |
Double | 小数 | -31723.99999 |
Float | 小数(不如 Double 精确),数字末尾带有 f 或 F。 | -1.2940278F |
Boolean | true 或 false。当只有两个可能的值时,可使用此数据类型。请注意,true 和 false 是 Kotlin 中的关键字。 | true false |
类型推断
下面的提示可帮助您减少在声明变量时编写的代码。
利用类型推断,当 Kotlin 编译器可以推断(或确定)变量应属的数据类型时,您不必在代码中写入确切类型。
这意味着,如果您为变量提供了初始值,就可以在变量声明中省略数据类型。Kotlin 编译器会查看初始值的数据类型,
并假定变量会存储该类型的数据。以下是使用类型推断来声明变量的语法:
val count: Int = 2
不过,您还可以按如下方式编写这行代码。请注意,冒号 (:) 和 Int 数据类型已被省略。
使用更新后的语法,您不但可以减少需要输入的单词,而且还能取得与创建名为 count 且值为 2 的 Int 变量相同的结果。
val count = 2
Kotlin 编译器知道您想将 2(整数)存储到变量 count 中,因此可以推断出 count 变量的类型为 Int。
是不是很省事呀?下面这个示例就展示了如何编写更简洁的 Kotlin 代码!
注意:如果您在声明变量时未提供初始值,就必须指定类型。
下面这行代码未提供初始值,因此您必须指定数据类型:
val count: Int
下面这行代码已提供赋值,因此您可以省略数据类型:
val count = 2
哇哦!