概述
今天为大家带来kotlin第三篇文章,运算符和表达式。
1.in 运算符
kotlin的in运算符真的很强大, 例如:
可以用来判断是否包含,可以对string类型,数组类型等进行判断。熟悉java开发的应该知道对于string类型的是否包含的判断调用contains()即可。Kotlin只要使用in就搞定了。
![](https://file2.kaopuke.com:8081/files_image/2023052813/11328097-1271fbea20d14b8a.png)
2. ===
java用==去判断了包含了对象的地址,而kotlin用===
3.for运算符
for和in搭配进行遍历(在也不用写for(int i = 0; I < arrs.length; I++))
![](https://file2.kaopuke.com:8081/files_image/2023052813/11328097-8900d091f2ddad33.png)
当然也会有人问那如何拿到当前的索引呢, kotlin还提供了索引的变量。其实arrs.indices就是arrs.size - 1
![](https://file2.kaopuke.com:8081/files_image/2023052813/11328097-e5e3a9df8a4ca9c1.png)
kotlin 如何取2到10这些数呢。2..10 就是指从2到10的闭区间,结果包括10
![](https://file2.kaopuke.com:8081/files_image/2023052813/11328097-9e1bd13870b6fee9.png)
当然有闭区间肯定也有开区间,开区间用关键字util,结果不包括10
![](https://file2.kaopuke.com:8081/files_image/2023052813/11328097-ec96c9ce4579cf45.png)
kotlin还提供了反向区间 downTo,这是一个闭区间,如果把10比作a,2比作b的话,a一定要大于等于b
![](https://file2.kaopuke.com:8081/files_image/2023052813/11328097-b89cf34488968bd6.png)
kotlin同样提供了区间的长度step,比如说现在要取1, 6, 11, 16四个数。我们发现了每相邻的数之间差5
![](https://file2.kaopuke.com:8081/files_image/2023052813/11328097-246dbe7ff272b0b3.png)
是不是感觉真的爽了~
下面说点运算符的重载吧,感觉还蛮有意思的。其实kotlin的运算符都是靠特定名字的方法支撑的。因此只要重载这些名称的方法。我们就可以为任意类添加这些运算符了。先简单举一个例子
![](https://file2.kaopuke.com:8081/files_image/2023052813/11328097-fb0b3e9237e062c9.png)
我相信了解java不熟悉kotlin的朋友肯定有蒙圈,什么鬼。怎么能给data对象进行赋予减号或者不等号呢。其实就是我上边说的,kotlin的运算符都是靠特定的名字的方法来支持的。所以对于执行前缀-a来说其实内部是调用了a.unaryMinus()这个方法。调用!a来说其实是调用了a.not()这个方法。所以大家请看我的data的实体类其实就一目了然了
![](https://file2.kaopuke.com:8081/files_image/2023052813/11328097-6f67e2062d07d26e.png)
实际上它会调用相对应的方法之后执行方法体, 这就不难看出结果返回的是什么了吧。答案是:Data(x = 2, y=5)
每个运算符都有对应的方法的名字,如
a+b a.plus(b)
a-b a.minus(b)
a*b a.times(b)
a/b a.div(b) 等等。。。具体可以查看kotlin官方文档。
所以你只要重写它们的方法之后就可以去实现你想要的逻辑即可。
以上这些是我对Kotlin运算符和表达式的理解。内容不是很多,因为好多都和java一样我就直接给忽略掉了。如果感觉还不错的话,就请默默的点一个赞或者收藏啦。如有问题也可以写评论会及时回复的~~
最后
以上就是慈祥自行车为你收集整理的Kotlin之运算符和表达式的全部内容,希望文章能够帮你解决Kotlin之运算符和表达式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复