今天为大家带来kotlin第三篇文章,运算符和表达式。
1.in 运算符
kotlin的in运算符真的很强大, 例如:
可以用来判断是否包含,可以对string类型,数组类型等进行判断。熟悉java开发的应该知道对于string类型的是否包含的判断调用contains()即可。Kotlin只要使用in就搞定了。
2. ===
java用==去判断了包含了对象的地址,而kotlin用===
3.for运算符
for和in搭配进行遍历(在也不用写for(int i = 0; I < arrs.length; I++))
当然也会有人问那如何拿到当前的索引呢, kotlin还提供了索引的变量。其实arrs.indices就是arrs.size - 1
kotlin 如何取2到10这些数呢。2..10 就是指从2到10的闭区间,结果包括10
当然有闭区间肯定也有开区间,开区间用关键字util,结果不包括10
kotlin还提供了反向区间 downTo,这是一个闭区间,如果把10比作a,2比作b的话,a一定要大于等于b
kotlin同样提供了区间的长度step,比如说现在要取1, 6, 11, 16四个数。我们发现了每相邻的数之间差5
是不是感觉真的爽了~
下面说点运算符的重载吧,感觉还蛮有意思的。其实kotlin的运算符都是靠特定名字的方法支撑的。因此只要重载这些名称的方法。我们就可以为任意类添加这些运算符了。先简单举一个例子
我相信了解java不熟悉kotlin的朋友肯定有蒙圈,什么鬼。怎么能给data对象进行赋予减号或者不等号呢。其实就是我上边说的,kotlin的运算符都是靠特定的名字的方法来支持的。所以对于执行前缀-a来说其实内部是调用了a.unaryMinus()这个方法。调用!a来说其实是调用了a.not()这个方法。所以大家请看我的data的实体类其实就一目了然了
实际上它会调用相对应的方法之后执行方法体, 这就不难看出结果返回的是什么了吧。答案是: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一样我就直接给忽略掉了。如果感觉还不错的话,就请默默的点一个赞或者收藏啦。如有问题也可以写评论会及时回复的~~