var声明变量
val声明常量
变量/常量声明:var /val i =1;或者var/val i:Int = 1;(变量/常量 变量名 (冒号变量类型) 赋值)
///////////////////
字符串模版:${String}直接将String代表的字符串插入到字符串中输出。
例如:写函数diaryGenerater(placeName:String):String{
var temple =""" //要换行,使用3个引号
我的妈呀今天去了${placeName},${placeName}真大啊,
有${placeName.length}公顷//输出placeName长度
"""
return temple}
在main函数中写 println(diaryGenerater("天安门"))会输出
我的妈呀今天去了天安门,天安门真大啊,有3公顷
模版中可以是字符串, 也可以是一个函数,但函数返回值必须是String
///////////////////////////
字符串比较
直接str1==str2或者str1.equals(str2)但这种默认区分大小写
不区分大小写:str1.equals(str2,true)//第二个参数:true代表不区分大小写,false则是区分
//////////////////////////
空值处理
写函数时 例如 fun funName(str:String){
return str
}
参数str默认是非空的,在编译阶段避免了空指针异常,若想传递null空值则修改代码为
fun funName(str:String?){ //在参数后加上?表明参数可以为空,否则默认非空
return str
}
//////////////////////////////
when 语句格式
kotlin的when不同于c或者java格式如下
var score:Int
when (score){
10->println("666")
9->println("还好")
8->println("可以")
7->println("加油")
6->println("及格")
else->println("完蛋")
}
有点像switch case 语句
//////////////////////////////
区间定义:
var nums = 1..100//从1到100包含1和100
var nums = 1 until 100//从1到100不!不!不!包含1和100
区间遍历(for语句)
for(num in nums){//关键字 in 表示在区间中
print(nums+",")
}
一次跨越一个值进行遍历
for(num in nums step 2){//关键字step,表示跨越读取
print(nums+",")
}
倒序读取区间
var nums2=nums.reversed()
for(num in nums2){//关键字step,表示跨越读取
print(num)
}
区间长度
nums.count()函数直接获得区间长度
////////////////////////
list
声明: var listName = ListOf("a","b",...,"n")
可以像区间一样使用for直接输出内容,也可以带下标进行输出
正常输出如上面的区间,
带下标输出:for((i,e) in listName.withIndex()){
println("${i} ${e}")//i是下表,e是对应内容
}
map