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用函数作为一个表达式的时候会去运行这个函数。

这个需要注意一下。

时间: 2024-10-18 05:13:15

Kotlin when 流程判断的相关文章

python学习笔记(if else流程判断、while循环、for循环)

if else流程判断 getpass在pycharm中无法使用,在命令行窗口中进入python环境可以使用. import getpassusername = input("username:") password = getpass.getpass("password:") print(username,password) python中缩进错误: 为什么python中强制缩进,因为python中不需要定义结束符.省去了结束符,子代码强制缩进让结构变得更清晰.

python基础5 if-else流程判断,for循环和while循环

本节主要内容: if-else流程判断 for循环 while循环 参考网页 if-else流程判断 if 语句概述 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,可以用if语句实现: age = 20 if age >= 18: print 'your age is', age print 'adult' print 'END' 注意: Python代码的缩进规则.具有相同缩进的代码被视为代码块,上面的3,4行

四 python 流程判断

1 if else 流程判断 强制缩进 _usename = "" _password = "" if _usename == username and _password == password: print("welcome user {name} login ...".format(name==username)) else: print ("invalid username or password") 父级代码顶格写,

06-想知道相亲对象是不是你的菜?-----if流程判断及相关知识

一.条件:是判断的标准 1.what:对方长啥样你得知道吧,比如年轻?漂亮?   2.什么可以作为条件,也就是判断的标准呢? 2.1 显式的布尔值(没错,从你的外表可以直接看出来你是个和egon一样帅(feng)气(sao)的人!) # 通过比较运算符,得到布尔值print(3 > 4) # False# 直接使用布尔值is_handsome = Trueprint(is_handsome) 2.2 隐式的布尔值 所有的值都可以当做条件去,其中0,None,空为假,其余为都为真 二.逻辑运算符:

Kotlin if else判断

Kotlin的if相对与java,有着较为灵活的用法. if是用来判断. if在Kotlin里面可以作为表达式来使用. 如果熟悉C java C#等 A>B:A?B这个判断应该是很熟悉,而Kotlin则是没有.因为if就可以代替了. 好了,我们按顺序学习. 传统判断: fun main(args:Array<String>) { var x=15 var y=16 println("${x}和${y}两个数比较大的是${Big(x,y)}") } fun Big(x:

python流程判断之多层循环学习笔记

passwd = 'test'                         创建一个变量 logout_flag = False                   如果登录等于假,继续输入密码 for i in range(4):                        循环4次 user_input = raw_input("please input your passwd:").strip()    赋值用户输入passwd次数 if len(user_input) =

if else流程判断

通过两个例子学习if else判断 1.if--else # ifelse 判断 _username = 'dmr' _password = '123' if username == _username and password == _password: print('welcome user {name} login ....'.format(name=username)) else: print('invalid username and password!') 2.if--elif--e

if else流程判断-CLASS-11(Part 1)

if判断语句 1 if true: 2 print("true") 3 else: 4 print("false") 猜年龄大小 1 # Author:dd 2 age_of_boy = 56 3 age = int(input("age:")) 4 if age == age_of_boy: 5 print("you got it") 6 elif age > age_of_boy: 7 print("you

python之路-day1-if...else...流程判断

判断输入的用户名:#Author:zww _username = "zww" _password = "123" username = input("username:") password = input("password:") if username == _username and password == _password: print("Welcome {user} login" .format