语法:
1,主函数,传入参数是字符串数组
fun main(args:Array<String>){
}
2,变量的申明和使用,byte,short,int,long,float,double,(前面都是有符号类型的),,string
var testv=5 //那么这个变量的类型就已经确定了,整型;此处会根据赋值的数字大小来智能分配具体类型
var i:int = 6 //也可以直接给变量后面确定类型
var j:int //变量要么有初始化值,要么在变量后面确定具体类型,否则编译器不知道该变量类型,除非你去做个编译器给个未初始化时的默认类型
val k=666 //只读常量
注意:val 和var的区别-> var是申明变量;;val是申明常量
变量的取值范围,举个例子,其他类似
val a:Byte=Byte.MAX_VALUE
val b:Byte=Byte.MIN_VALUE
Boolean 布尔类型 true,false
fun 函数名(参数名:参数类型):返回值类型{
//函数形参类型后面可以加?,表示调用函数时,参数输入可以为空;函数也可以没有返回值(即unit或者不写)
}
3,在字符串中想输入参数内容,则用${参数名},例如:"""我的大名是${},哈哈哈哈"""
4,when函数的使用,类似于switch..case;;;例如
fun getselectvalue(value:int){
when(value){
1->println("选中1了")
2->println("选中2了")
else->println("啥都没选中")
}
}
5,循环用for (变量 in 范围) ,区间范围用.. 例如:
var nums=1..100 //[1,100]
var numa=1 until 100 //[1,100)
for(i in nums step 2){
}
6,list,map的用法
var l = listof(1,2,3,1,2,1 )
for(i in l){ }//
for((i,e) in l.withIndex()){
println("$i $e")
var m =TreeMap<String,String>()
m["one"]="first"
m["two"]="second"
7,函数的简洁式写法,例如
fun add(x:int,y:int):int = x+y//= 相当于return 后面则是函数体的内容 fun add(x:int,y:int):int{return x+y}
var i={x:int,y:int->x+y}//类似于c里面的函数指针,后面{}中的内容是函数的第二种简洁式写法,函数表达式
var r=i(3,3)
var j:(int,int)->int={x,y->x+y}//函数表达式的第三种写法,相当于第二种的变形,本质上和第二种是一样的
8,函数默认参数和具名参数
fun getArea(a:int=5,b:int):int{//默认参数
}
var t=getArea(b=2)//具名参数
9,数字和字符串之间的转换,其实和c++,java的类似
var a="11"
var b=13
a=b.toString()//或者b=a!!.toInt()//表示不为空时才转换
10,异常处理,和java的基本一样,对于可能出现异常的代码段包裹
try{
var n :int = a!!.toInt()
}catch(e:Exception){
println("....")
}