zoukankan      html  css  js  c++  java
  • 从零开始学Kotlin-基础语法(1)

    从零开始学Kotlin基础篇系列文章

    注释

        //单行注释
    
    
        /*
        多行注释
         */
    
    
        /**
         * 多行注释
         */

     定义变量/常量

    变量定义:var 关键字

    var <标识符> : <类型> = <初始化值>

    常量定义:val 关键字,只能赋值一次的变量(类似Java中final修饰的变量)

      val <标识符> : <类型> = <初始化值>

    常量与变量都可以没有初始化值,但是在引用前必须初始化

        var name: String//不指定变量值时需要指定变量类型
        var name1="SiberiaDante"//指定变量值时不需要指定变量类型
    
        val name2:String//不指定常量值时需要指定类型
        val name3="SiberiaDante"//指定常量值时不需要指定类型

    函数/方法

    无返回值方法定义

      /**
         * Unit 可以省略
         */
        fun demo1(): Unit  {}
        fun demo1(name: String, age: Int) {
            print("My Name is " + name)
        }

    有返回值的方法

      /**
         *不定义返回值类型,系统判断
         */
        fun sum1(a: Int, b: Int) = a + b
     /**
         * 定义返回类型Int
         */
        fun sum2(a: Int, b: Int): Int {
            return a + b
        }

    变长参数方法(用varargs关键字标识)

    fun showNums(vararg nums:Int){
        for(num in nums){//for 循环输出
            print(num)
        }
    }

     Null检查机制

    //类型后面加?表示可为空
    var age: String? = "23" 
    //抛出空指针异常
    val ages = age!!.toInt()
    //不做处理返回 null
    val ages1 = age?.toInt()
    //age为空返回-1
    val ages2 = age?.toInt() ?: -1

    使用案例:如下,字符串不是数字是,返回Null,返回类型需要标记为可为Null

    fun strToInt(str:String):Int?{
         ...
    }

    日志打印

    print("不换行打印")
    println("换行打印")
  • 相关阅读:
    P1908 逆序对
    P3834 【模板】可持久化线段树 1(主席树)
    BZOJ 4300: 绝世好题
    Codevs 2185【模板】最长公共上升子序列
    P1439 【模板】最长公共子序列
    P3865 【模板】ST表
    【转】良心的可持久化线段树教程
    Codevs 1299 切水果
    P3388 【模板】割点(割顶)&& 桥
    P3805 【模板】manacher算法
  • 原文地址:https://www.cnblogs.com/shen-hua/p/8186006.html
Copyright © 2011-2022 走看看