Kotlin基础学习

来源:互联网 发布:3dsmax 显卡优化驱动 编辑:程序博客网 时间:2024/06/05 15:24

废话:

Kotlin 现在是 Android 的官方语言!Kotlin 因其简洁性和强大的功能早已深受众多 Android 开发者的热爱。


笔记:

1.不需要使用“;”结束2.直接复制变量不需要定义类型3.不需要定义作用域例如:val a: Int = 1 // 立即赋值val b = 2 // 自动推断出 `Int` 类型val c: Int // 如果没有初始值类型不能省略c = 3 // 明确赋值4.字符串特殊字符不需要使用“\”转义$代码能正常执行例如: var a = 1 // 模板中的简单名称: val s1 = "a is $a"  a = 2  // 模板中的任意表达式:  val s2 = "${s1.replace("is", "was")}, but now is $a"输出s2结果为:a was 1, but now is 25.方法定义也不需要作用域例如:fun sum(a: Int, b: Int): Int {  return a + b}或者(自动判断返回类型)fun sum(a: Int, b: Int) = a + b无返回值fun printSum(a: Int, b: Int) {  println("sum of $a and $b is ${a + b}")}使用条件表达式fun maxOf(a: Int, b: Int) = if (a > b) a else b6.当某个变量的值可以为 null 的时候,必须在声明处的类型后添加 ? 来标识该引用可为空(可以标注参数和返回值)例如:fun parseInt(str: String): Int? {// ……}7.is 运算符检测一个表达式是否某类型的一个实例例如:if (obj is String) {// `obj` 在该条件分支内自动转换成 `String`return obj.length}8. for 循环使用例如:listOf类似java的listval items = listOf("apple", "banana", "kiwi")for (item in items) {println(item)}或者val items = listOf("apple", "banana", "kiwi")for (index in items.indices) {println("item at $index is ${items[index]}")}9.while循环可以理解跟java一样10.when 表达式类似java的switch例如:fun describe(obj: Any): String =when (obj) {1 -> "One""Hello" -> "Greeting"is Long -> "Long"!is String -> "Not a string"else -> "Unknown"}11.区间使用 in 运算符来检测某个数字是否在指定区间内  !in检查是否在指定区间外val x = 10val y = 9if (x in 1..y+1) {println("fits in range")}//输出fits in range使用 in区间迭代或数列迭代for (x in 1..5) {println(x)}//输出1-5for (x in 1..10 step 2) {println(x)}//输出1,3,5,7,9for (x in 9 downTo 0 step 3) {println(x)}//输出 9,6,3,012.创建基本类及其实例不需要new关键字比如:val source =  ArrayList<Int>()//创建ArrayList13.静态方法class Test {    companion object {        fun getStatic() {            Log.d("TAG","getStatic:")        }}}//调用静态方法getStatic()Test.getStatic()
































































































原创粉丝点击