关于我第二周学习kotlin这门语言


有关kotlin的知识点:

在学习lambda之前,我们先了解一下什么是lambda,简答来说就是一小段代码块,并且我们可以将这个代码块在函数之间传递,这是函数式编程的一个重要特性。

通常我们会需要一个函数,但是又不想定义一个函数那么费事,这个时候就可以使用 lambda 表达式来完成工作。

我们来举一个例子:

在java的开发中我们经常会看见这种代码:

button.setOnClickListener(new OnClickListener() {

    @Override

    public void onClick(View view) {

        // 这里写你需要的东西

    }

});

站在java的角度来看这个代码,它确实没什么问题,但是,如果你看到kotlin的版本的代码就不会这样想了,

button.setOnClickListener {

    // 写你需要的东西

}

下面这个是kotlin的写法,相对于上面那个清爽了很多。这也是lambda的优势之一。

 

 

 

kotlin的条件控制,在一周之前我有一个程序的大致想法,这个程序是关于做一个有界面的计算器,类型和我们市面上见到的计算器一致。

但是由于我没有学习太多kotlin的知识,这个计划一直在鸽这,然而今天学习的是条件语句。看到这个我们应该可以联想到之前做的计算器程序的一些逻辑,

kotlin条件控制:

kotlin包含if-else 表达式 , when表达式, when表达式增强版,when替代多级嵌套的if-else语句

if-else:

kotlin的if语句和Java的if语句相似但是不同的,在kotlin中,if语句是一个表达式,所以会返回一个值,表达式的值

为表达式作用域内最后一行的值,这一点和java是不同的,而java的if仅仅是个语句。同样存在这else-if语句。

when:

koltin中使用when来替代了java中的switch-case语句

when同样是带返回值的。when将它的参数与所有的分支条件顺序比较,知道分支满足条件。

 

增强版:

kotlin1.3以后对when表达式做了语法增强,支持,when表达式的内部允许传入值。

多级嵌套:

和if一样,when也有返回值,对于座机嵌套,建议使用when。

这边我们直接看代码吧:

 

package com.example.firstapp

fun main() {
    println("maxof:${maxof(5,4)}")
    println("maxof2:${maxof2(5,4)}")
}

fun maxof(a:Int,b:Int):Int{
    if(a>b)
    {
        return a;
    }
    else
    {
        return b;
    }
}
//maxof的简易写法。
fun maxof2(a:Int,b:Int):Int
{
    return if(a>b) a else b
}

//when:
//fun eval12(number:Number):String=when (number)
//{
//    is Int -> "this is Int"
//}

  

kotlin循环语句:

其中包括

1.for循环

2.while和do-while循环

3.迭代区间

4.break和contine

for循环:

for循环可以对任何提供迭代器(可以理解为我们所学的字典)的对象进行遍历,for循环仅以唯一一种形式存在,和java和for-each循环一致。

在CSDN中,有人说kotlin循环和java中的循环几乎一模一样,但是我觉得kotlin的for循环更像python的for循环一样(也许是我学的太少,或者思维面没有达到的缘故,所以感觉会更像python一些)

while和do-while语句:

我们直接通过代码来学习while

迭代区间:

遍历区间,注意kotlin的区间的包含或是闭合的。

我们还是用代码来表示

package com.example.firstapp

fun main()
{
    val items = listOf("java","kotlin","android")
    //第一种方式,for-in形式
    for(item in items)
    {
        println(item)
    }
    //foreach:可以打印元素
    items.forEach(){items ->
        println("forEach:${items}")
    }
    //可以输出每个元素的下标
    items.forEachIndexed{index,items->
        println("forEachIndexed:${index},${items}")
    }

    //区间迭代器
    for (i in 1..10)            //这里的1..10是这样意思,我们将1到10这几个数都遍历一遍。其实 
                               //我们也可以用until来写。
                                //这里我们可以这样用数学来表示:[1,10]
    {
        print(i)
    }
    print("/n")
    for (i in 1 until 10 step 2)       //until不会输出最后一个数,如果我们用数学来表达它的            
                                       //话,因该是这样的[1,10)
                                //kotlin的一个简便的关键字,如果你想让你的输出是一个隔着一个的 
                                //输出,也就是我这样输出1,3,5,...
                                //如果是这样的话,我们用其他语言来写就需要在循环中加一个判断, 
                                //但是在kotlin中我们只需要用step这个关键字就可以解决了
    {
        print(i)
    }
}

  

 以上是我这周学习的一个总结,写的不知道有没有什么问题,如果有问题,请一定要提出来,我会马上改的,谢谢你的观看!!!!

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/270392.html

(0)
上一篇 2022年6月26日
下一篇 2022年6月26日

相关推荐

发表回复

登录后才能评论