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类创建数组

控制流程

条件语句

循环语句

流程控制语句

相关推荐
plainGeekDev21 小时前
synchronized → Coroutines
android·java·kotlin
唐青枫1 天前
Java Gradle 实战指南:从 Wrapper、Kotlin DSL 到 Spring Boot 多模块构建
java·kotlin·gradle
帅次2 天前
Kotlin Flow 与 StateFlow:UI 单向数据流基础
开发语言·ui·kotlin·stateflow·onlifecycle
Kapaseker2 天前
Sequence 一定比 List 快?等等,我们先从基础讲起
android·kotlin
zhangjin11203 天前
Android Studio创建HelloWorld(kotlin版本)
android·kotlin·android studio
怣疯knight3 天前
kotlin安卓应用打包编译卡死的可能原因
android·kotlin
plainGeekDev3 天前
NullPointerException → Kotlin 空安全
android·java·kotlin
1024+3 天前
YOLO 转 RKNN 识别率降低调优操作手册(新手篇)
android·yolo·kotlin
帅次3 天前
Kotlin 与 Java 互操作:混合工程里的平台类型与 API 边界
java·开发语言·kotlin·suspend·nullable
plainGeekDev4 天前
kapt 替换为 KSP
android·java·kotlin