第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

Kotlin 手記 -- 基礎(chǔ)

標(biāo)簽:
Kotlin
fun main() {
    println("HelloWorld")
}


变量

var name1 = "ZhaoTian" // 普通变量 自动推导类型
var name2: String = "ZhangTian"

val name3 = "ChenTian" // 常量 类似java中的 final 修饰的变量
val age: Int = 33 // kotlin 中是对象数据类型,其他有 Short Long Float Double Boolean Char Byte


  1.  类型推导机制

  2. Kotlin完全拋弃了Java中的 基本数据类型,全部使用了对象数据类型

    https://img1.sycdn.imooc.com/ffed8968095383d007150509.jpg


函数

1. 普通函数

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

2. 当函数体只有一行时可以简写为等号形式

fun methodName2(param1: Int, param2: Int): Int = max(param1, param2)


3. 函数的参数默认值


fun printParams(num: Int, str: String = "hello") {
    println("num is $num , str is $str")
}


当调用 printParams()函数时,可以选择给第二个参数传值,也可以选择不传,在不传的情况下就会 自动使用默认值


这个例子比较理想化,因为正好是给最后—个参数设定了默认值,现在我们将代码改 成给第—个参数设定默认值

fun printParams(num: Int = 100, str: String) {
    println("num is $num , str is $str")
}

Kotlin提供了另外—种神奇的机制,就是可以通过键值对的方式来传参,从而不 必像传统写法那样按照参数定义的顺序来传参

printParams(str = "hello")
printParams(str = "world", num = 123)

此时哪个参数在前哪个参数在后都无所谓,Kotlin可以准确地将参数匹配上



if条件语句


Kotlin中的if语句相比于Java有—个额外的功能,它是可以有返回值的,返回值就是if语句每 —个条件中最后—行代码的返回值

fun ifMethod1(param1: Int, param2: Int): Int {
    val value = if (param1 > param2) {
        param1
    } else {
        param2
    }
    return value
}


// 返回值类型自动推导
fun ifMethod2(param1: Int, param2: Int) = if (param1 > param2) param1 else param2



when条件语句


when语句有点类似于Java中的switch语句,但它又远 switch语句强大得多

匹配值 -> { 执行逻辑 }

当你的执行逻辑只有—行代码时,{ }可以省略

/**
 * 条件语句 when
 * 类似 java 中的 switch
 */
fun whenMethod1(name: String): Int {
    return when (name) {
        "Tom" -> 86
        "Jim" -> 83
        "Lily" -> 67
        else -> 0
    }
}


when语句还有—种不带参数的用法,能发挥很强的扩展性

fun whenMethod2(name: String): Int {
    return when {
        name.startsWith("Tom") -> 86
        name == "Jim" -> 83 // == 等效于 java中的equals()
        name == "Lily" -> 67
        else -> 0
    }
}


when语句允许进行类型匹配

is关键字就是类型匹配的核心,它相当于Java中的instanceof关键字

fun checkNumber(number: Number) {
    when (number) {
        is Short -> println("is short")
        is Int -> println("is int")
        is Long -> println("is Long")
        is Double -> println("is double")
        else -> println("other type")
    }
}



循环语句


1. for循环

fun forMethod1() {
    val range = 0..10 // 0<=x<=10 [1,10]
    for (i in range) {
        print(i)
    }
    val range2 = 0 until 10 // [0,10)
    for (i in range2) {
        print(i)
    }
    val range3 = 1..20 step 2 // 1,3,5...19
    for (i in range3)
        print(i)
    val range4 = 5 downTo 1  // [5,1]
    for (i in range4)
        print(i)
}


2. while循环


同java的while用法一致


数组


fun main() {
    val arrayInt: Array<Int> = arrayOf(1, 2, 3)
    val arrayObj: Array<Any> = arrayOf(1, "hello", 1.23, true)
    printArray(arrayObj)
    val array1 = arrayOfNulls<Int>(10)
    for (i in 0..9)
        array1[i] = i * 8
    printArray(array1)
    val array2 = Array<String>(5) { i -> (i * 10).toString() }
    printArray(array2)
    val array3 = IntArray(5)
    val array4 = IntArray(5) { 100 }
    printArray(array4)
    val array5 = IntArray(5) { it * it }
    printArray(array5)
}

fun printArray(array: Any) {
    when (array) {
        is Array<*> -> {
            array.forEach { print("$it ") }
            println()
            for (index in array.indices)
                print("${array[index]} ")
            println()
            for (value in array)
                print("$value ")
            println()
            for ((index, value) in array.withIndex())
                print("$index -> $value ")
            println()
        }

        is IntArray -> {
            array.forEach { print(it) }
            println()
        }
    }

}



點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消