• Kotlin学习之路一(为什么使用kotlin + kotlin基本语法)


    一.为什么使用kotlin?

    • 简洁: 大大减少样板代码的数量。
    • 安全: 避免空指针异常等整个类的错误。
    • 互操作性: 充分利用 JVM、Android 和浏览器的现有库。
    • 工具友好: 可用任何 Java IDE 或者使用命令行构建

    二.kotlin基本语法

      1.程序入口(Kotlin 应用程序的入口点是main函数。)

        fun main(){

          println("hello world")

        }

      2.函数构造

        例:  fun sum(a:Int,b:Int):Int{

             return a+b 

           }

           等同于

           fun sum(a:Int,b:Int) = a+b

        a,b函数带参

        :Int表示返回Int类型的数据

      3.kotlin变量

        1.val:只读局部变量使用关键字,只能赋值一次

        2.var:重新赋值的变量

      4.字符串模板($赋值,replace替换)

        val a = 1

        val s = "a is $a"

        val s1="${s.replace("is","was")}"

      5.条件表达式

        1)if语句

        例:  fun maxOf(a:Int,b:Int):Int{

             if(a>b){

               return a

             }else{

               return b

             }

           }

           等同于

           fun maxOf(a:Int,b:Int) = if(a>b) a else b

        

        2)when语句(取代java中的switch操作符)

          fun describe(obj: Any): String =

            when (obj) {
              1 -> "One"
              "Hello" -> "Greeting"
              is Long -> "Long"
              !is String -> "Not a string"
              else -> "Unknown"
            }

      6.null与空值检测

        当某个变量的值可以为null的时候,必须在声明处的类型后添加?来标识该引用可为空。

      7.类型检测与类型自动转换

        is运算符检测一个表达式是否某类型的一个实例。如果一个不可变的局部变量或属性已经判断出为某类型,那么检测后的分支中可以直接当作该类型使用,无需显式转换

        例:

          fun getStringLength(obj: Any): Int? {
            if (obj is String) {
              // `obj` 在该条件分支内自动转换成 `String`
              return obj.length
            }

            // 在离开类型检测分支后,`obj` 仍然是 `Any` 类型
            return null
          }

      8.循环语句

        1)for语句

          //直接依次获取list集合中的对象

          for(listItem in list){
            println(listItem)
          }

          //依次根据list的下标获取对象

          for(index in list.indices){
            println("$index no item is ${list[index]}")
          }

        2)while语句

          var index = 0

          while(index < list.size()){

            println("$index no item is ${list[index]}")

            index++

          }

      9.in运算符来检测一个值是否在某个区间

        例: a in 1..20 表示a所在的是否在1-20之内(包含1与20)

  • 相关阅读:
    双链表( 初始化,建立,插入,查找,删除 )
    单链表(程序员宝典)
    单链表(建立、插入、删除、打印)
    Hive- 表
    Spark- 性能优化
    Spark- Checkpoint原理剖析
    Spark- 优化后的 shuffle 操作原理剖析
    Spark- Spark普通Shuffle操作的原理剖析
    Spark- Spark内核架构原理和Spark架构深度剖析
    Spark- Spark基本工作原理
  • 原文地址:https://www.cnblogs.com/done-dyj/p/12881101.html
Copyright © 2020-2023  润新知