前言
在kotlin中,关于运算和Java中大体相通,又有些区别,今天就让我们来具体看看有哪些差异吧。
今天涉及内容:
1.Kotlin与Java在运算方面的相同处理
2.Kotlin对于运算的特别之处
3.需要注意的小细节
- 3.1.
模的理解 - 3.2.
a..b的理解
4.算数运算示例TestAtiivty相关源码
5.TestAtiivty示例源码运行结果
一.Kotlin与Java在运算方面的相同处理
基本的算数运算一般涉及加,减,乘,除,余等。针对常用运算,在Java中,我们一般处理如下:
public class Test {
public static void main(String[] args) {
int a = 4;
int b = 2;
System.out.println("a+b=" + (a + b));
System.out.println("a-b=" + (a - b));
System.out.println("a*b=" + (a * b));
System.out.println("a/b=" + (a / b));
System.out.println("a%b=" + (a % b));
}
}
结果如下:
> Task :main:Test.main()
a+b=6
a-b=2
a*b=8
a/b=2
a%b=0
然后在Kotlin中处理如下:
object MainClass {
@JvmStatic
fun main(args: Array<String>) {
var a = 4
var b = 2
println("a+b=${a + b}")
println("a-b=${a - b}")
println("a*b=${a * b}")
println("a/b=${a / b}")
println("a%b=${a % b}")
}
}
打印结果如下:
> Task :main:MainClass.main()
a+b=6
a-b=2
a*b=8
a/b=2
a%b=0
以上可以看到,基本运算中,Java与Kotlin的调用差别不大,且结果一致。下面我们就来讲讲kotlin在调用上的一些独特之处。
二.Kotlin对于运算的特别之处
Kotlin在基本运算的调用除了和Java相似的调用方式外,它还有自己的调用方式,如加法可以如下调用:
var a = 4
var b = 2
var result=a.plus(b) //a+b
更多调用示例会在TestAtiivty中详细讲述。接下来让我们了解一些算数方面常用理解。
三.需要注意的小细节
3.1 模的理解
其实模就是算数余,符号%,在常用的计算公式中:
a%b=r
a为被除数,b为除数,r为余数。
例如
var a = 5
var b = 2
println("a%b=${a % b}")
运行结果为
a%b=1
表示5除以2余数为1
一般模用于判断奇偶性
3.2 a..b的理解
a..b表示从a到b(a比b小),且包含a和b。如3..7表示从3到7`的所有整数。一般用于遍历条件,如:
for(i in 3..7){
println("i=$i")
}
打印结果为:
i=3
i=4
i=5
i=6
i=7
a..b也可写作a.rangeTo(b),同样以上面的3到7打印为例,我们也可以这样写:
for(i in 3.rangeTo(7)){
println("i=$i")
}
最后打印结果和上面一样。
四.算数运算示例TestAtiivty相关源码
基于以上的讲解,下面给出Kotlin中的算数运算的示例代码。
下面是TestAtiivty对应布局activity_test.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.MainActivity">
<Button
android:id="@+id/mBtnTest"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
android:textAllCaps="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="100dp"
android:text="test"/>
<TextView
android:id="@+id/mTvTest"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:gravity="center_vertical|left"
android:textAllCaps="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/mBtnTest"/>
</androidx.constraintlayout.widget.ConstraintLayout>
算数运算在TestAtiivty中运用示例代码如下: