欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Kotlin 基礎(chǔ)語法實(shí)例詳解

 更新時間:2017年06月30日 10:32:15   作者:jinkui  
這篇文章主要介紹了Kotlin 基礎(chǔ)語法實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下

Kotlin 基礎(chǔ)語法實(shí)例詳解


定義和引入Java一樣,在文件開頭, 行結(jié)束不需要” ; “

package com.test.hello

import android.os.Bundle

變量

只讀變量,val 開頭,初始化后不能再賦值,相當(dāng)于Java的 final 變量

val a: Int = 1
val b = 1 //類型自動推斷為Int
val c: Int //沒有初始化時必須指定類型
c = 1 //初始化

可變變量, var 關(guān)鍵字開頭

var x = 10
x = 3

函數(shù)

函數(shù)定義 fun 開頭, 完整的定義如下:

fun sum(a: Int, b: Int): Int {
  return a + b
}

可以簡化成表達(dá)式,返回值自動推斷

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

函數(shù)沒有返回值時,可以不寫或者返回 Unit

fun test(arg: String) {
  println(arg)
}

或者

fun test(arg: String): Unit {
  println(arg)
}

注釋

和Java一樣,支持行注釋 " // " 和 塊注釋 "/ /"。

不同之處,Kotlin支持塊注釋嵌套,建議不用。

if else

使用條件語句, 和Java一樣

fun min(a: Int, b: Int): Int {
  if (a > b) {
    return b
  } else {
    return a
  }
}

Kotlin支持if 表達(dá)式,以上代碼可以寫成: fun min(a: Int, b: Int) = if (a > b) b else a

for
fun main(args: Array<String>) {
  for (arg in args) {
    println(arg)
  }
}

或者

for (i in args.indices) {
  println(args[i])
}

while

和Java類似

fun main(args: Array<String>) {
  var i = 0
  while (i < args.size) {
    println(args[i++])
  }
}

when

when,支持豐富的功能, 比Java的 switch 自由

fun case(a: Int) {
  when (a) {
    1 -> println("1")
     2 -> println("2")
     else -> println("else")
  }
}

范圍, 集合

使用 in 檢查一個數(shù)值是否在某個范圍之內(nèi)

if (x in 1..10) {
  // do
}

檢查一個數(shù)值是否在某個范圍之外

if (x !in 0..10) {
  //
}

在一個值范圍內(nèi)進(jìn)行遍歷迭代

for (x in 0..10) {
  //
}

使用 in 檢查一個集合是否包含某個對象

if (name in names) { //names.contains()
  //
}

在一個集合上進(jìn)行遍歷迭代

for (name in names) {
  println(name)
}

null檢查

當(dāng)一個引用可能為 null 值時, 對應(yīng)的類型聲明必須明確地標(biāo)記為可為 null。

fun parseInt(str: String): Int? {
  // todo
}

fun main(args: Array<String>) {
  var name: String?
  val x = parseInt(args[0])
  if (x != null) { // check null
    // todo
  }
}

is 類型

is 檢查一個表達(dá)式的值是不是某個類型的實(shí)例, 如果對一個不可變的局部變量或?qū)傩赃M(jìn)行過類型檢查, 那么之后的代碼就不必再對它進(jìn)行顯式地類型轉(zhuǎn)換。

fun getStringLength(obj: Any): Int? {
  if (obj is String && obj.length > 0) {
    return obj.length // obj as String after is
  }
  return null
}


感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • Java實(shí)現(xiàn)讀寫文件功能的代碼分享

    Java實(shí)現(xiàn)讀寫文件功能的代碼分享

    這篇文章主要為大家詳細(xì)介紹了如何利用Java語言實(shí)現(xiàn)讀寫文件功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-08-08
  • SpringBoot整合log4j日志與HashMap的底層原理解析

    SpringBoot整合log4j日志與HashMap的底層原理解析

    這篇文章主要介紹了SpringBoot整合log4j日志與HashMap的底層原理,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 解決springboot的JPA在Mysql8新增記錄失敗的問題

    解決springboot的JPA在Mysql8新增記錄失敗的問題

    這篇文章主要介紹了解決springboot的JPA在Mysql8新增記錄失敗的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Springboot Apollo配置yml的問題及解決方案

    Springboot Apollo配置yml的問題及解決方案

    這篇文章主要介紹了Springboot Apollo配置yml的問題及解決方案,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • java?long?類型數(shù)據(jù)的賦值方式

    java?long?類型數(shù)據(jù)的賦值方式

    這篇文章主要介紹了java?long?類型數(shù)據(jù)的賦值方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • SpringBoot中熔斷器的原理和使用詳解

    SpringBoot中熔斷器的原理和使用詳解

    這篇文章主要介紹了SpringBoot中熔斷器的原理和使用詳解,熔斷器是一種用于處理分布式系統(tǒng)中故障的設(shè)計(jì)模式,它可以防止出現(xiàn)故障的服務(wù)對整個系統(tǒng)造成連鎖反應(yīng),需要的朋友可以參考下
    2023-07-07
  • 基于斷點(diǎn)續(xù)傳下載原理的實(shí)現(xiàn)

    基于斷點(diǎn)續(xù)傳下載原理的實(shí)現(xiàn)

    下面小編就為大家?guī)硪黄跀帱c(diǎn)續(xù)傳下載原理的實(shí)現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • HashMap底層數(shù)據(jù)結(jié)構(gòu)詳細(xì)解析

    HashMap底層數(shù)據(jù)結(jié)構(gòu)詳細(xì)解析

    這篇文章主要介紹了HashMap底層數(shù)據(jù)結(jié)構(gòu)詳細(xì)解析,HashMap作為開發(fā)中常用的數(shù)據(jù)結(jié)構(gòu),也是面試中經(jīng)常被問的知識點(diǎn),因此作為開發(fā)者應(yīng)該盡可能多的理解其底層的數(shù)據(jù)結(jié)構(gòu),需要的朋友可以參考下
    2023-11-11
  • SpringBoot詳解如果通過@Value注解給靜態(tài)變量注入值

    SpringBoot詳解如果通過@Value注解給靜態(tài)變量注入值

    這篇文章主要介紹了springboot如何通過@Value給靜態(tài)變量注入值,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java數(shù)據(jù)結(jié)構(gòu)-HashMap詳解

    Java數(shù)據(jù)結(jié)構(gòu)-HashMap詳解

    這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)-HashMap,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評論