ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-06-26 03:32:10  阅读:256  来源: 互联网

标签:语句 这门 java Int items when 第二周 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)
    }
}

  

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

标签:语句,这门,java,Int,items,when,第二周,kotlin
来源: https://www.cnblogs.com/AnimeBucket/p/16412863.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有