kotlin编译型语言,可以通过虚拟机编译,不依赖于虚拟机(可以直接生成2进制机器码)
定义变量与类型推断
//1.编译时常量
const val num = 1;
fun main(args: Array<String>) {
println(num);
//2.val只读变量,并非绝对只读,某些情况会发生修改
val str1: String = "hello world";
println(str1)
//类型推断
var str2 ="test pre";
print(str2)
}
字符串拼接
fun main(args: Array<String>) {
val origin = "jack"
val dest = "rose"
println("$origin love $dest")
val bl = false
println("Answer is: ${if (bl) "我可以" else "对不起"}")
}
if...else和when替换
fun main(args: Array<String>) {
var age1 = 4
when (age1) {
//in xx..yy有xx-yy闭区间取值范围的意思,range函数
in 1..3 -> println("婴儿")
in 4..12 -> println("青少年")
else -> println(4)
}
var level = "青少年"
var any = when (level) {
"婴幼儿" -> "幼儿园"
"青少年" -> "小学"
else -> {
println("其他")
}
}
//当any等于其他的时候,是unit函数,个人理解相当于void
println(any)
}
此外还有TODO函数,此函数代表永远执行不成功,返回类型nothing
方法定义以及具名函数
fun main(args: Array<String>) {
var method1 = method1("zs", true)
println(method1)
//正常调用
method2("ls",false)
//具名函数参数(适用于参数较多的情况,可以不按传参顺序)
method2(flag = true, name = "ww")
}
//修饰符 函数定义关键字 方法名 (形参名:形参类型...):返回值类型{方法体}
private fun method1(name:String,flag:Boolean):String{
return "方法1调用成功"
}
//无修饰符 无返回值 方法
fun method2(name: String,flag: Boolean){
println("$name $flag")
}
反引号函数命名
1.反引号反引号星号星号波浪号 特殊命名函数 2.主要应用在java和kotlin互相调用时,但二者有不同保留字,在调用时可以用``引住方法可以避免冲突