funmain(args: Array<String>){ val a: Int = 1//立即初始化 val b = 2//自动推导出b是Int类型 val c : Int//没有初始化的时候必须声明类型 c = 3//赋值 println("a=$a,b=$b,c=$c") //输出结果a=1,b=2,c=3 }
funmain(args: Array<String>){ var a = 1 val s1 = "a is $a" a = 2 val s2 = "&{s1.replace("is","was")},but now is $a" //replace返回一个String值,并不会修改其本身的值 println(s2) }
fuc printProduct(arg1: String,arg2: String){ val x = parseInt(arg1)//将arg1转换成一个Int并返回 val y = parseInt(arg2)//将arg2转换成一个Int并返回 //对x,y进行检查,是否都转换成了Int if(x !=null && y !=null){ println(x * y) }else{ println("either '$arg1' or '$arg2' is not a number") } }
0 either 'a' or '1' is not a number either '1a' or '6' is not a number either 'a' or 'a' is not a number
值检查并自动转换
1 2 3 4 5 6 7 8 9 10 11 12 13
fungetStringLength(obj: Any): Int?{ if(obj is String){ //obj将会自动被转换成String类型 //所以可以放心的调用String的属性 return obj.length } returnnull } funmain(args: Array<String>){ println("result is ${getStringLength("abc")} ") println("result is ${getStringLength(123)}") println("result is ${getStringLength(listOf(Any()))}") }
输出结果
1 2 3
result is 3 result is null result is null
循环
for循环
1 2 3 4 5 6
funmain(args: Array<String>){ val items = listOf("apple","banana","kiwi") for(a in items){ println(item) } }
输出结果
1 2 3
apple banana kiwi
while循环
1 2 3 4 5 6 7 8 9 10 11 12 13 14
funmain(args: Array<String>){ val items = listOf("apple","banana","kiwi")//注意这 val var index = 0//注意这里是var while(index < items.size){ println("item at $index is ${items[index]}") index++ } } /* var和val的区别如下: var 声明了一个变量 val 声明的是不可变量 val 相对于 final */
输出结果
1 2 3
item at 0 is apple item at 1 is banana item at 2 is kiwi
funmain(args:Array<String>){ val x = 10 val y = 9 if(x in1..y+1){ println("fits in range") } }
输出结果
1
fits in range
!in操作符检查是否在某个范围外
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
funmain(args:Array<String>){ val list = listOf("a","b","c") if(-1 !in0..list.lastIndex){ println("-1 is out of range") println("list.lastIndex is ${list.lastIndex}") } if(list.size !in list.indices){ println("list size is out of valid list indices range too") println("list.size is ${list.size}") println("list.indices is ${list.indices}") } if("a"in list){ println("a is in list") } }
输出结果
1 2 3 4 5 6
-1 is out of range list.lastIndex is 2 list size is out of valid list indices range too list.size is 3 list.indices is 0..2 a is in list