kotlin学习笔记——过程控制和Range表达式
生活随笔
收集整理的這篇文章主要介紹了
kotlin学习笔记——过程控制和Range表达式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、if表達式
在kotlin中一切都是表達式,都可以返回一個值。所以if表達式也總是返回一個value。所以可以: var s = if (isExit) x else y 這樣我們就不需要java中那樣得三元符“?:”2、when表達式
與java中的switch/case類似,但是要強大的多。這個表達式會匹配分支,如果有匹配的則運行右邊的表達式。- 對于默認的選項可以增加else分支(與java中的defualt類似)
- 與java的switch/case不同的是,參數可以是任何類型,也可以是一個條件
- 一個條件也可以是多個逗號分隔的值
3、for循環
kotlin提供了很多集合的操作符可以使我們不必過多的使用for,但是for仍是有用的。 for(item in collection){... } 在for中我們也可以使用ranges,如: for(index in 0..parent.getChirldCount() - 1){... } 對于迭代一個Collection(array或list)的index,可以使用Collection的indices屬性,如 for(index in array.indices){... } 通過觀察源碼可以指定,indices是一個IntRange類型,它的值是0..size-1,所以說它是一個collection所有index的range。4、while和do/while
這兩個不是特別常用,基本與java和上面的用法類似。5、try和throw
在kotlin中幾乎一切都是表達式,都可以返回一個值,所以可以 val a = try{ ... }catch{ null } 或 fun do( ... ): Persion? = throw Expection() 注意:上面的例子可以看到,返回一個exception時,雖然與返回類型不相同也是可以的。6、range
Range表達式使用一個“..”操作符,它是被定義實現了了一個RangeTo方法 if(i in 0..10){... } Range用于任何可以被比較的類型,但對于數字類型比較器會轉換為類似java的簡單代碼來避免額外開銷來優化它。 而且注意,數字類型的Range可以用于迭代,如: for(i in 0..10){.... } Range默認是自增長的,如果是for(i in 10..0)則不會做任何事情,這時可以使用downTo,如: for(i in 10 downTo 0){... } 我們還可以使用step來定義間隙,如: for(i in 1..4 step 2){... } 上面的代碼只會遍歷到1、3 如果想創建一個開區間,可以使用until,如: for(i in 0 until 4){... }就等同于0..3,不包括最后的。
?
總結
以上是生活随笔為你收集整理的kotlin学习笔记——过程控制和Range表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kotlin中学习笔记——null
- 下一篇: kotlin学习笔记——接口与委托