Kotlin--1.基础语法

目录

一.概念

二.基本语法

1.入门案例

2.变量声明

3.数据类型

4.字符串

(1)访问字符串

(2)字符串长度

(3)字符串函数

(4)比较字符串

(5)在字符串中查找字符串

(6)字符串模板

5.if-else

6.when

7.数组

8.范围

三.函数

1.实例

2.多个参数

3.返回值


一.概念

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

varval 的区别在于用 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)
相关推荐
DLYSB_9 小时前
API 网关流量洪峰与突发 CC 攻击:我用 Go 写了个“现场物理防御哨兵”,把故障响应压缩到秒级
开发语言·后端·golang·报警灯
huibin14785236910 小时前
热缓解学习记录
android·学习
雨田言炎11 小时前
四、关于Qt项目需要知道的
开发语言·笔记·qt
程序喵大人12 小时前
【C++进阶】STL算法与函数对象 - 02 sort为什么需要随机访问迭代器
开发语言·c++·算法
SomeB1oody12 小时前
【RustyML入门】2.6. 线性判别分析
开发语言·后端·机器学习·rust·教程
用户昵称10013 小时前
C/C++编程-工程实践-本地存储log的工程意义
c语言·开发语言
我命由我1234513 小时前
匈牙利命名法
java·服务器·后端·学习·java-ee·kotlin·学习方法
小田的博客13 小时前
SAP MM 供应商银行主数据更新报错!message R1228!
android·java·服务器
吹什么轩14 小时前
c++复习:map和set的使用
开发语言·c++
必须得开心呀14 小时前
qt生成dump文件并定位异常
开发语言·qt