Kotlin when 流程判断
生活随笔
收集整理的這篇文章主要介紹了
Kotlin when 流程判断
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如果學過C或者java C#等語言。 一定熟悉SWITCH這個流程判斷
但是在kotlin中卻沒有這個。而是 使用了When來代替。
當什么時候。
下面我覺一個簡單的例子:
import java.util.*fun main (args: Array<String>) {var sc:Scanner=Scanner(System.`in`);var input=sc.next()when(input) {"a"->println(”輸入了a“);"b"->println(”輸入了b“);//很多個 }}解釋:
?當when檢測input等于下面某個值的時候就執行后面的代碼。
?當檢測到某個值與條件相符合的用->來連接右面要執行的代碼。
?是一個簡單的箭頭。減號和大于號組成。
同樣,When和if都可以作為表達式,也可以用來賦值。
下面的例子:
import java.util.*fun main (args: Array<String>) {var sc:Scanner=Scanner(System.`in`);var input=sc.next()var key= when(input){"a"-> "a""b"-> "b"else ->"沒有值"//很多個 }print("輸入了:"+key) }值得注意的是,如果when要當作表達式,就一定要有else。 并且是最后一個表達式作為返回得值。
?
和if一樣,表達式,函數都可以作為表達式來檢測。(下面這個例子有很大的 問題,但是意思差不多 將就著看看把 等有好例子 我在換)
import java.util.*fun main (args: Array<String>) {var sc: Scanner = Scanner(System.`in`);//var value=var key= when(go(sc.nextInt())){go(2014)-> "一樣的值:2014"go(2013)-> "一樣的值:2013"go(2012)-> "一樣的值:2012"else ->"no value"}print(key) } fun go(Year:Int):Int {var re= if(Year%4==0){println("閏年")1}else{println("不是")0}return re; }當我輸入2016的時候:
?
?會有如此的結果,也就是說在when用函數作為一個表達式的時候會去運行這個函數。
這個需要注意一下。
?
轉載于:https://www.cnblogs.com/T-ARF/p/7603118.html
總結
以上是生活随笔為你收集整理的Kotlin when 流程判断的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在过滤器中设置一个应用范围内的路径
- 下一篇: java中日期与字符串之间的转换