前言
在kotlin中,關(guān)于運算和Java中大體相通,又有些區(qū)別,今天就讓我們來具體看看有哪些差異吧。
今天涉及內(nèi)容:
1.Kotlin與Java在運算方面的相同處理
2.Kotlin對于運算的特別之處
3.需要注意的小細(xì)節(jié)
- 3.1.
模的理解 - 3.2.
a..b的理解
4.算數(shù)運算示例TestAtiivty相關(guān)源碼
5.TestAtiivty示例源碼運行結(jié)果
一.Kotlin與Java在運算方面的相同處理
基本的算數(shù)運算一般涉及加,減,乘,除,余等。針對常用運算,在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));
}
}
結(jié)果如下:
> 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}")
}
}
打印結(jié)果如下:
> Task :main:MainClass.main()
a+b=6
a-b=2
a*b=8
a/b=2
a%b=0
以上可以看到,基本運算中,Java與Kotlin的調(diào)用差別不大,且結(jié)果一致。下面我們就來講講kotlin在調(diào)用上的一些獨特之處。
二.Kotlin對于運算的特別之處
Kotlin在基本運算的調(diào)用除了和Java相似的調(diào)用方式外,它還有自己的調(diào)用方式,如加法可以如下調(diào)用:
var a = 4
var b = 2
var result=a.plus(b) //a+b
更多調(diào)用示例會在TestAtiivty中詳細(xì)講述。接下來讓我們了解一些算數(shù)方面常用理解。
三.需要注意的小細(xì)節(jié)
3.1 模的理解
其實模就是算數(shù)余,符號%,在常用的計算公式中:
a%b=r
a為被除數(shù),b為除數(shù),r為余數(shù)。
例如
var a = 5
var b = 2
println("a%b=${a % b}")
運行結(jié)果為
a%b=1
表示5除以2余數(shù)為1
一般模用于判斷奇偶性
3.2 a..b的理解
a..b表示從a到b(a比b小),且包含a和b。如3..7表示從3到7`的所有整數(shù)。一般用于遍歷條件,如:
for(i in 3..7){
println("i=$i")
}
打印結(jié)果為:
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")
}
最后打印結(jié)果和上面一樣。
四.算數(shù)運算示例TestAtiivty相關(guān)源碼
基于以上的講解,下面給出Kotlin中的算數(shù)運算的示例代碼。
下面是TestAtiivty對應(yīng)布局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>
算數(shù)運算在TestAtiivty中運用示例代碼如下: