拓展知识(一)| 青训营笔记

120 阅读2分钟

拓展知识(一)| 青训营笔记

这是我参与「第四届青训营」笔记创作活动的的第15天;
以此记录为配合项目的开发而拓展的知识点。

Kotlin 基础学习

  • 什么是Kotlin?
    • Kotlin就是一门可以运行在Java虚拟机、Android浏览器上的静态语言,它与Java 100%兼容,如果你对Java非常熟悉,那么你就会发现Kotlin除了自己的标准库之外,大多仍然使用经典的Java集合框架;
    • 总结而言:
      1. Android官方开发语言
      2. 100%兼容Java
      3. Kotlin-Js 前端开发
      4. Kotlin-Jvm 服务端开发
      5. Kotlin-Native 本地执行程序
      6. Kotlin 一门全栈语言

  • 变量
    • Java中,如果我们要声明变量,我们必须声明它的类型,后面跟着变量的名称和对应的值,然后以分号结尾。
      > int price = 100;  
      > String str = "我是字符串";
      
    • 而在Kotlin则不一样,我们要使用 val 或者是 var这样的关键字作为开头,后面跟“变量名称 -> price ”,接着是变量类型 ->Int 和赋值语句。
      > var price : Int  = 100 ;
      > val  price  = 0  
      
    • 注意:
      • Kotlin中末尾的分号是可以省略的,而Java中不可以省略。
      • Kotlin中,我们应该尽可能的避免使用var ,尽可能多的去使用val
      • val声明的变量,我们叫不可变变量,它的值在初始化后就不能再次被修改,它相当于Java中的 final 变量。
      • var声明的变量,我们叫可变变量,它对应Java中的普通变量。

  • 基础类型
    • 简单的说就是:一切皆对象
    • Java的差异:
      • Java中,基础类型会分为原始类型和包装类型。比如整型会有对应的intInteger,前者是原始类型,后者是包装类型;而在Kotlin中没有原始类型,所以可以说一切皆是对象。
        > Val i :Double = 1.toDouble()
        
        在这实例可以中可以看出在Kotlin中"1"被当作一个对象可以直接调用toDouble方法,而在Java中是无法实现的。
    • 数组
      • Kotlin中,我们一般会使用 arrayOf()来创建数组;
      • Java中,获取数组的长度,Java中应该使用"array.length", 如果是获取List的大小则是使用"list.size".这主要是因为数组不属于Java集合。不过在Kotlin中,虽然数组仍然不属于集合,但它的一些操作是跟集合统一的。
        > val arrayString = arrayOf("apple","pear")
        > println("${array.size}")
        > 2
        
    • Char型
      • Char 用于表达单个字符,对应JavaCharacter;比如'A','B'字符应该用单引号括起来
      • ==表示equals值的相等比较
      • === 三个等号表示引用地址的比较,即比较两个值是否是同一个引用地址;
    • 数字类型
      • 在数字类型上,kotlinjava 几乎是一样的,包括它们对数字“字面量” 的定义方式。
    • 布尔类型
      • 只有true或者false两个值,它无处不在,相当于Java类型的boolean
    • 函数
          关键字    函数名          参数类型   返回值类型
           ↓        ↓                ↓       ↓   
          fun helloFunction(name: String): String {
              return "Hello $name !"
          }   ↑
             花括号内为:函数体
      
      • 使用了fun关键字来定义函数
      • 函数名称。使用的是驼峰命名法
      • 函数参数是以参数名在前,参数类型在后的写法
      • 返回值类型,紧跟参数后面
      • 单一表达式函数:
            > fun helloFunction(name:String) = "Hello $name !"
        
      • 调用:
           > helloFunction("kotlin"

未完待续...