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