目录
一.概念
Kotlin 是一种现代化的静态类型编程语言,可在Java 虚拟机(JVM) 上运行。它由 JetBrains 开发,旨在提供更简洁、更安全和更高效的编程体验。Kotlin 具有与 Java 互操作性,并且大多数现有的 Java 代码可以无缝地迁移到 Kotlin 中。
Kotlin 具备许多特性,如可空类型 、扩展函数 、数据类 、Lambda 表达式 等,这些特性使得代码编写更加简洁和易读。Kotlin 还支持面向对象和函数式编程范式,能够满足不同编程风格的需求。
Kotlin 在 Android 开发中也得到了广泛的应用。它被 Google 官方列为Android 开发的官方语言,并且通过 Kotlin 的一些特性和语法糖,可以编写更简洁、更安全的 Android 应用程序。
二.基本语法
1.入门案例
创建了一个名为 **Main.kt
**的 Kotlin 文件
Kotlin
fun main() {
println("Hello World")
}
idea直接右键运行
2.变量声明
Kotlin
var variableName = value
val variableName = value
var
和 val
的区别在于用 var
关键字可以更改/修改 ,而 val
变量不能
与许多其他编程语言不同,Kotlin 中的变量不需要用指定的 type 声明(如"String"表示文本或"Int"表示数字,如果你熟悉的话)
Kotlin
var name: String = "John" // String
val birthyear: Int = 1975 // Int
println(name)
println(birthyear)
3.数据类型
Kotlin
val myNum = 5 // Int
val myDoubleNum = 5.99 // Double
val myLetter = 'D' // Char
val myBoolean = true // Boolean
val myText = "Hello" // String
Kotlin
val myNum: Int = 5 // Int
val myDoubleNum: Double = 5.99 // Double
val myLetter: Char = 'D' // Char
val myBoolean: Boolean = true // Boolean
val myText: String = "Hello" // String
val myNum: Byte = 100 //Byte
val myNum: Short = 5000 //Short
val myNum: Long = 15000000000L //Long
4.字符串
Kotlin
var name: String
name = "John"
println(name)
(1)访问字符串
要访问字符串的字符(元素),您必须参考方括号内的索引号**。**
字符串索引从0开始。在下面的例子中,我们访问txt
中的第一个和第三个元素:
Kotlin
var txt = "Hello World"
println(txt[0]) // first element (H)
println(txt[2]) // third element (l)
(2)字符串长度
Kotlin
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
println("The length of the txt string is: " + txt.length)
(3)字符串函数
Kotlin
var txt = "Hello World"
println(txt.toUpperCase()) // 输出 "HELLO WORLD"
println(txt.toLowerCase()) // 输出 "hello world"
(4)比较字符串
compareTo(
string)
函数比较两个字符串,如果相等则返回 0
Kotlin
var txt1 = "Hello World"
var txt2 = "Hello World"
println(txt1.compareTo(txt2)) // Outputs 0 (they are equal)
(5)在字符串中查找字符串
indexOf()
函数返回指定文本在字符串(包括空格)中第一次出现的index(位置) ):
Kotlin
var txt = "Please locate where 'locate' occurs!"
println(txt.indexOf("locate")) // 输出 7
您还可以使用**plus()
** 函数来连接两个字符串:
Kotlin
var firstName = "John "
var lastName = "Doe"
println(firstName.plus(lastName))
(6)字符串模板
Kotlin
var firstName = "John"
var lastName = "Doe"
println("My name is $firstName $lastName")
5.if-else
if-else和java中的一样
6.when
Kotlin
val day = 4
val result = when (day) {
1 -> "Monday"
2 -> "Tuesday"
3 -> "Wednesday"
4 -> "Thursday"
5 -> "Friday"
6 -> "Saturday"
7 -> "Sunday"
else -> "Invalid day."
}
println(result)
// 输出 "Thursday" (day 4)
Kotlin
/**
* 满足任何一个即可
*/
when(flag){
1,2,4 -> println("ok")
10,12,31-> println("yes")
else-> println("error")
}
7.数组
要创建一个数组,请使用 **arrayOf()
**函数,并将值放在其中的逗号分隔列表中:
Kotlin
val cars = arrayOf("Volvo", "BMW", "Ford", "Mazda")
println(cars[0])
// 输出 Volvo
println(cars.size)
// 输出 4
if ("Volvo" in cars) {
println("It exists!")
} else {
println("It does not exist.")
}
for (x in cars) {
println(x)
}
8.范围
Kotlin
for (chars in 'a'..'x') {
println(chars)
}
for (nums in 5..15) {
println(nums)
}
三.函数
1.实例
创建一个名为 "myFunction" 的函数,它应该输出一些文本:
Kotlin
fun myFunction() {
println("I just got executed!")
}
Kotlin
fun main() {
myFunction() // 调用函数
}
// 输出 "I just got executed!"
2.多个参数
Kotlin
fun myFunction(fname: String, age: Int) {
println(fname + " is " + age)
}
fun main() {
myFunction("John", 35)
myFunction("Jane", 32)
myFunction("George", 15)
}
// John is 35
// Jane is 32
// George is 15
3.返回值
Kotlin
fun myFunction(x: Int): Int {
return (x + 5)
}
fun main() {
var result = myFunction(3)
println(result)
}
// 8 (3 + 5)
返回值还有一个更短的语法。 您可以使用 **=
运算符代替 return
**而无需指定返回类型。 Kotlin 足够聪明,可以自动找出它是什么:
Kotlin
fun myFunction(x: Int, y: Int) = x + y
fun main() {
var result = myFunction(3, 5)
println(result)
}
// 8 (3 + 5)