Kotlin(3)基本语法

包定义与导入包

1 kotlin.*

2 kotlin.annotation.* 注解类

3 kotlin.collections.* 集合操作的类,有list、set、map

4 kotlin.comparisons.* 元素比较的包

5 kotlin.io.*

6 kotlin.ranges.* 区间表达包

7 kotlin.sequences.* 序列的包,元素非常多的情况下速度更快

8 kotlin.text.* 文本和正则表达式的包

入口程序

Kotlin程序的入口是main函数

fun main(){

println("Hello world!")

}

main的另一种形式接受可变数量的String参数

fun main(args: Array<String>){

println(args.contentToString())

}

"<>"里是泛型,是你能传进去参数的类型

args是变量名,它是一个字符串数组

printlin里是数组类的一个方法

输出到控制台

print将其参数打到标准输出

fun main(){

//不换行输出

print("Hello ")

print("world!")

//换行输出

println("Hello world!")

println(42)

}

函数

定义函数的语法

fun 函数名([参数:类型])[:返回类型]{

//函数体

}

举例

fun sum(a: Int, b: Int) : Int {

return a+b

}

表达式作为函数体,返回类型自动推断

fun sum(a: Int, b: Int) = a + b

//public方法则必须明确写出返回类型

public fun sum(a: Int, b: Int): Int = a + b

返回无意义的值的函数

fun printSum(a: Int,b: Int): Unit{

println("sum of a and b is ${a + b}")}

变量

定义只读局部变量使用关键字val定义。只能为其赋值一次。

val a: Int = 1 //立即赋值

val b = 2 //自动推断出"Int"类型

val c: Int //如果没有初始值,类型不能省略

c=3 //明确赋值

println("a = a, b = b, c = $c")

可重新赋值的变量使用var关键字

var x = 5 //自动推断出"Int"类型

x += 1

可在函数外部声明变量,是全局变量

val PI = 3.14

var x = 0

fun main(){

println("x = x ; PI = PI")

}

Kotlin中的数字没有隐式拓宽转换

fun main(){

val i = 1 //int

val d = 1.0 //double

val f = 1.0f //float

printDouble(d)

printDouble(i) //错误:类型不匹配

printDouble(f) //错误:类型不匹配

}

fun printDouble(d:Double) { print(d) }

可以用下划线分割数字,使得更易于读取

val oneMillion = 1_000_000

trimMargin()去掉分节符"|"

数组

用Array类创建数组

控制流程

条件语句

循环语句

流程控制语句

相关推荐
唔6615 小时前
原生 Android(Kotlin)仅串口「继承架构」完整案例二
android·开发语言·kotlin
错把套路当深情15 小时前
Kotlin 全方向开发技术栈指南
开发语言·kotlin
stevenzqzq20 小时前
Kotlin 协程:withContext 与 async 核心区别与使用场景
android·开发语言·kotlin
stevenzqzq20 小时前
Kotlin 语法深度拆解:从 Java 匿名内部类到极简 Lambda 完整演进
java·kotlin·lambda
唔6620 小时前
原生 Android(Kotlin)仅串口「侵入式架构」完整案例三
android·架构·kotlin
唔6620 小时前
原生 Android(Kotlin)仅串口「可插拔架构」完整案例一
android·架构·kotlin
Kapaseker1 天前
Compose 响应式布局要变天—入门 FlexBox
android·kotlin
alexhilton2 天前
在Compose中用Shader实现透明的粘稠元球效果
android·kotlin·android jetpack
jinanwuhuaguo2 天前
OpenClaw 2026.4.5 深度解读
android·开发语言·人工智能·kotlin·openclaw
默 语2 天前
OpenClaw“养龙虾“热潮降温的深层解析:从技术狂欢到理性回归
android·开发语言·kotlin