最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Kotlin 基礎語法實例詳解

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

Kotlin 基礎語法實例詳解


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

package com.test.hello

import android.os.Bundle

變量

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

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

可變變量, var 關鍵字開頭

var x = 10
x = 3

函數(shù)

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

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

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

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 表達式,以上代碼可以寫成: 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ù)值是否在某個范圍之內

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

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

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

在一個值范圍內進行遍歷迭代

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

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

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

在一個集合上進行遍歷迭代

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

null檢查

當一個引用可能為 null 值時, 對應的類型聲明必須明確地標記為可為 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 檢查一個表達式的值是不是某個類型的實例, 如果對一個不可變的局部變量或屬性進行過類型檢查, 那么之后的代碼就不必再對它進行顯式地類型轉換。

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


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

相關文章

  • Spring配置和使用Properties文件的詳細步驟

    Spring配置和使用Properties文件的詳細步驟

    在Spring框架中,.properties 文件通常用于存儲配置信息,如數(shù)據庫連接、服務地址、應用參數(shù)等,本文給大家介紹了Spring配置和使用Properties文件的詳細步驟,需要的朋友可以參考下
    2024-05-05
  • 一文吃透Spring?Cloud?gateway自定義錯誤處理Handler

    一文吃透Spring?Cloud?gateway自定義錯誤處理Handler

    這篇文章主要為大家介紹了一文吃透Spring?Cloud?gateway自定義錯誤處理Handler方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 關于SpringBoot接收json格式的Demo案例

    關于SpringBoot接收json格式的Demo案例

    這篇文章主要介紹了關于SpringBoot接收json格式的Demo案例,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java提取2個集合中的相同和不同元素代碼示例

    Java提取2個集合中的相同和不同元素代碼示例

    這篇文章主要介紹了Java提取2個集合中的相同和不同元素代碼示例,涉及對removeall方法的簡單介紹,然后分享了主要的示例代碼,具有一定借鑒價值,需要的朋友可以參考下。
    2017-11-11
  • java 如何使用org.w3c.dom操作XML文件

    java 如何使用org.w3c.dom操作XML文件

    這篇文章主要介紹了java 如何使用org.w3c.dom操作XML文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java數(shù)據結構之基于比較的排序算法基本原理及具體實現(xiàn)

    Java數(shù)據結構之基于比較的排序算法基本原理及具體實現(xiàn)

    最近剛學習完七種比較常見的基于比較的排序算法,感覺比較重要,所以寫個博客記錄一下,通讀本篇對大家的學習或工作具有一定的價值,需要的朋友可以參考下
    2021-09-09
  • MyBatis-Plus數(shù)據庫配置與數(shù)據源整合方案

    MyBatis-Plus數(shù)據庫配置與數(shù)據源整合方案

    本文詳細介紹了在MyBatis-Plus中進行數(shù)據庫配置與數(shù)據源整合的常見方法,包括單數(shù)據源和多數(shù)據源的配置步驟,以及如何使用SpringBoot的自動配置和手動配置來管理數(shù)據源,通過合理的配置,開發(fā)者可以簡化數(shù)據庫操作,實現(xiàn)高效的數(shù)據庫管理和復雜的應用架構
    2025-02-02
  • SpringBoot中的Mybatis依賴問題

    SpringBoot中的Mybatis依賴問題

    這篇文章主要介紹了SpringBoot中的Mybatis依賴問題,包括pom導入依賴和相關實例代碼講解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • Java 線程同步詳解

    Java 線程同步詳解

    這篇文章主要給大家詳細介紹的是Java 線程同步的相關問題及代碼示例,有需要的小伙伴可以參考下
    2016-03-03
  • java使用鏈表實現(xiàn)約瑟夫環(huán)

    java使用鏈表實現(xiàn)約瑟夫環(huán)

    這篇文章主要為大家詳細介紹了java使用鏈表實現(xiàn)約瑟夫環(huán),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05

最新評論

疏勒县| 蒲城县| 宿州市| 伊金霍洛旗| 宁明县| 普格县| 错那县| 广灵县| 万安县| 屯门区| 平南县| 东台市| 金湖县| 霸州市| 正蓝旗| 吴旗县| 岳阳县| 太保市| 梧州市| 油尖旺区| 留坝县| 平江县| 肃宁县| 新田县| 东乌| 永兴县| 乌苏市| 公安县| 乐陵市| 白城市| 象州县| 义马市| 前郭尔| 长治县| 印江| 嘉定区| 海阳市| 宜都市| 鄂托克旗| 鱼台县| 白朗县|