快速入门Kotlin语言-----学习笔记(一)

一、kotlin发展历程

2011年,JetBrains发布了Kotlin的第一个版本,并在2012年将其开源。

2016年Kotlin发布了1.0正式版,代表着Kotlin语言已经足够成熟和稳定了,并且JetBrains也在自家的旗舰IDE开发工具IntelliJ IDEA中加入了Kotlin的支持。

2017年Google宣布Kotlin正式成为Android开发一级语言,并且Android Studio也加入了对Kotlin的支持。

2019年Google正式宣布了Kotlin First,未来提供的官方API也将会以Kotlin版本为主。

二、kotlin相比java的优势

语法更加简洁,对于同样的功能,使用Kotlin开发的代码量可能会比使用Java开发的减少50%甚至更多。

语法更加高级,相比于Java比较老旧的语法,Kotlin增加了很多现代高级语言的语法特性,使得开发效率大大提升。

语言更加安全,Kotlin几乎杜绝了空指针这个全球崩溃率最高的异常。

和Java是100%兼容的,Kotlin可以直接调用使用Java编写的代码,也可以无缝使用Java第三方的开源库。这使得Kotlin在加入了诸多新特性的同时,还继承了Java的全部财富。
三、运行kotlin代码

第一种方法是使用IntelliJ IDEA。
第二种方法是在线运行Kotlin代码。JetBrains专门提供了一个可以在线运行Kotlin代码的网站,地址是:https://try.kotlinlang.org。
第三种方法是使用Android Studio。在任意Android工程中创建一个Kotlin文件,并编写一个main()函数,即可运行main()函数中的Kotlin代码。

四、kotlin变量

Kotlin中定义一个变量,只允许在变量前声明两种关键字:val和var

val(value的简写的简写)用来声明一个不可变的变量,这种变量在初始赋值之后就再也不能重新赋值,对应Java中的final变量。
var(variable的简写的简写)用来声明一个可变的变量,这种变量在初始赋值之后仍然可以再被重新赋值复制,对应Java中的非final变量。

eg:

fun main() {
    val a = 10
    var b = 5
    b = b + 3
    println("a = " + a)
    println("b = " + b)
}

Kotlin完全抛弃了Java中的基本数据类型,全部使用了对象数据类型。在Java中int是整型变量的关键字,而在Kotlin中Int变成了一个类,它拥有自己的方法和继承结构。

其他数据类型是将首字母大写就变成了kotlin的类!

五、kotlin函数

fun methodName(param1: Int, param2: Int): Int {
      return 0
}

fun 函数名(参数1: 参数类型, 参数2: 参数类型): 返回值类型 {
      return 0
}

如果没有参数或者返回值就可以不写!函数体只有一行是可以省去花括号{}!return可以省去,直接用=即可!Kotlin拥有出色的类型推导机制,可以自动推导出返回值的类型。

fun methodName(param1: Int, param2: Int) = 0

五、kotlin逻辑控制

if:

fun largerNumber(num1: Int, num2: Int): Int {
    val value = if (num1 > num2) {
        num1
    } else {
        num2
    }
    return value
}
//等价于
fun largerNumber(num1: Int, num2: Int): Int {
    return if (num1 > num2) {
        num1
    } else {
        num2
    }
}
//等价于
fun largerNumber(num1: Int, num2: Int) = if (num1 > num2) {
    num1
} else {
    num2
}
//等价于
fun largerNumber(num1: Int, num2: Int) = if (num1 > num2) num1 else num2

when:

//精确匹配
fun getScore(name: String) = when (name) {
    "Tom" -> 86
    "Jim" -> 77
    "Jack" -> 95
    "Lily" -> 100
    else -> 0
}
//类型匹配
fun checkNumber(num: Number) {
    when (num) {
        is Int -> println("number is Int")
        is Double -> println("number is Double")
        else -> println("number not support")
    }
}

for-in循环语句:


fun main() {
    //[0,10]
    for (i in 0..10) {
        println(i)
    }
    //[0,10),每次执行循环都会在区间范围内递增2,相当于for-i循环中i = i + 2的效果。输出为0,2,4,6,8
    for (i in 0 until 10 step 2) {
        println(i)
    }
    //降序输出
    for (i in 10 downTo 1) {
        println(i)
    }

}

 

跟着郭神学kotlin!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值