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

控制流程

条件语句

循环语句

流程控制语句

相关推荐
ai2work2 天前
ch23 综合复刻:从零做一个最小可用版本(capstone)
kotlin
ai2work2 天前
ch21 签名、校验与发版
kotlin
JMchen2 天前
属性动画原理与高级动画实现
android·kotlin·canvas
Android打工仔2 天前
Kotlin 协程源码解析:协程是如何切换线程的?
android·kotlin
ai2work2 天前
附录 D 速查索引与阅读指南
kotlin
ai2work2 天前
ch22 诊断方法论:三个真实事故的根因分析
kotlin
Kapaseker2 天前
你有搞明白 Volatile 什么意思吗?
android·kotlin
alexhilton2 天前
藏在设备上的秘密,终究藏不住
android·kotlin·android jetpack
ai2work2 天前
ch15 加载模型与初始化上下文
kotlin
hai_android2 天前
Kotlin / Android 常用函数使用示例手册
android·java·kotlin