kotlin语法学习
一、字符串模板
字符串字面值可以包含模板表达式,即一小段代码,会求值并把结果合并到字符串中。模板表达式以美元($)开头,有一个简单的名字构成:
val number = 100
println("The Result is $number")
或者用花括号${}括起来的任意表达式:
val text = "This is Text"
println("The length is ${
text.length}")
字符串与转义字符串内部都支持模板,如果你需要在原始字符串中表示字面值$字符(它不支持反斜杠转义),你可以用下列语法:
val price = "${
'$'}9.99"
二、字符串的值
kotlin有两种类型的字符串字面值:转移字符串可以有转义字符,以及原始字符串可以包含换行以及任意文本。一下是转义字符串的一个实例:
val s = "Hello, world\n" //\n换行
val s2 = "{\"key\":\"value\"}" //\反斜杠对""进行转义,保留字符串格式
字符串使用单个引号(“”")分界符括起来,内部没有转义并且可以包含换行以及任何其他字符:
val text = """
This ( is) "Text"
"""
三、数组
声明对象数组的三种形式:
3.1、使用arrayOf函数和指定的数组元素创建数组
//Java写法:
String[] params1 = {
"str1", "str2", "str3"};
//kotlin写法:
val params1 = arrayOf("str1", "str2", "str3")
3.2、使用arrayOfNulls函数创建一个指定大小的并初始化每个元素为null的数组
//Java写法:
String[] params2 = new String[12];
//kotlin写法:
val params2 = arrayOfNulls<String>(12)
3.3、Array构造方法指定数组大小和一个生成元素的lambda表达式
这种方法创建的数组,其中的每个元素都是非空的,就像下面这样:
//kotlin写法:
val params3 = Array<String>(3){
i -> "str" + i }
// 也可以这么写
val params=Array(3){
"str$it"}
因为数组的原始大小已经确定,在lambda表达式中接收数组的下标,并返回一个该下标位置的值。
3.4、for循环
3.4.1、元素遍历
for(item in array){
println(item)
}
3.4.2、下标遍历
for(i in array.indices){
println(i.toString() + "->" +array[i])
}
3.4.3、元素遍历(带索引)
for((index,item) in array.withIndex()){
//同时遍历下标和元素
println("$index->