kotlin基础小结

  • fun关键字用来申明函数。val关键字和var关键字分别用来申明只读变量和可变变量。val申明的只读变量,在申明时就必须赋值。
fun vall() {
    //一次赋值(只读)的局部变量,为赋值提示“Property must be initialized or be abstract”
    val a: Int = 1 //立即赋值
    val b = 2 //自动推断出‘Int’类型
    var c: Int //如果没有初始值类型不能省略
    c = 3// 明确赋值Int类型
    println("a=" + a + " b=" + b + " c=" + c)
}
  • 字符串模板帮助开发者避免繁琐的字符串连接。在变量名称前加上 $ 前缀或者用 \ 字符(它不支持反斜杠转义),你可以用下列语法:
val price = """
${'$'}9.99
"""
  • 值对象类在Kotlin中以简洁的方式表示.
  • Kotlin红的if表示式是有返回值的,如果功能代码是代码块,则最后一行为返回值。
  • when表达式类似于java中的开关语句switch,但是功能更强大。同if类似也是有返回值的。
when (x) {
    1 -> print("x == 1")
    2 -> print("x == 2")
    else -> { // 注意这个块(如果 when 作为一个表达式使用,则必须有 else 分支)
        print("x is neither 1 nor 2")
    }
}
  • 在检查过变量具有某种类型之后不必显示地转换它的类型:编译器使用智能转换自动完成。
//当if条件中检测到p是Int类型,下面的功能代码中,在使用p时就不要在进行转换。
fun func2(p: Any): Int {
    if (p is Int) {
        return p
    } else {
        throw TimeoutException("The value is not number!")
    }
}
// 以上函数可以用下面更简洁的方式实现
fun func(p: Any): Int = p as? Int ?: throw  TimeoutException("The value is not number!")
  • for、while和do-while循环与Java类似,但是for循环现在更加方便,特别是但需要迭代map的时候,又或是迭代结合需要下标的时候。
val items = listOf("apple", "Banana", "kiwi", "aDpple")
    //for循环
fun forr() {
    for (item in items) {
        println(item)
    }
    for (index in items.indices) {
        println("item at $index is ${items[index]}")
    }
}
  • 简洁的语法1…5会创建一个区间。区间和数列允许Kotlin在for循环中使用统一的语法和同一套抽象机制,并且还可以使用in运算符和!in运算符来检查值是否属于某个区间。要迭代区间倒序,可以使用downTo关键字。要按特定步数,可以使用step关键字。
fun rangee() {
    //数列迭代step
    for (x in 1..10 step 2) {// 升序迭代
        print(x)
    }
    println()
    for (x in 9 downTo 0 step 3) {// 降序迭代
        print(x)
    }
}
  • Kotlin中异常的处理和Java非常相似,除了Kotlin不要求你声明函数可以抛出的异常。Kotlin不区分受检异常和非受检异常。try-表达式的返回值是 try 块中的最后一个表达式或者是(所有)catch 块中的最后一个表达式。 finally 块中的内容不会影响表达式的结果。
// try 是一个表达式,即它可以有一个返回值
val a: Int? = try {
    parseInt("4")
} catch (e: NumberFormatException) {
    null
} finally {
    //可选,不影响返回
}
//字符串转为Int
fun parseInt(str: String): Int? {
    return Integer.parseInt(str)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值