有关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