var => 宣告變數
val => 宣告常數
宣告可以只宣告型態但不預設值,或是設定預設值會自動推導型態,或是同時設定型態和預設值。
var a1: Int //設定預設值會自動推導型態
var a2 = 1 //只宣告型態但不預設值
var a3: Int = 1 //同時設定型態和預設值
$ => 以變數取代
var s1 = "abc"
print("name is $s1")
字串內運算要用大括號
var i1 = 1
var i2 = 2
print("sum is ${i1 + i2}")
以下為宣告各種型態array的方法
var iArray = intArrayOf(1, 2, 3)
var fArray = floatArrayOf(1.0f, 2.0f, 3.0f)
var bArray = booleanArrayOf(true, false, true)
var cArray = charArrayOf('a', 'b', 'c')
foreach走訪迴圈 => 元素 in 陣列/迴圈
foreach迴圈中取得值 => 因為透過陣列去找某index屬於運算行為,所以要用大括號
for(i in iArray.indices)
{
println("${iArray[i]}")
}
foreach的累加 - 逐次加
for(i in 1...100){
sum += i
}
println(sum)
foreach的累加 - 設定累加step(遞增)
//2 + 4 + 6 + 8 + 10
for(i in 2...10 step 2){
sum += i
}
println(sum)
foreach的累減 - 設定累減step(遞減)
//10 8 6 4 2
for(i in 10 down to 2 step 2){
print(sum + "")
}
foreach界線 - until => 只會走到9
//1 2 3 4 5 6 7 8 9
for(item in 1 until 10)
{
print("$item")
}
條件判斷
if
var a1 = 1
var a2 = 2
var a3 = if(a1 < a2) a1 else a2
when(Jave的switch), else在裡面類似default
when(x)
{
1-> //do something
2 -> //do something
else -> //do something
}
in和!in可以表示在某範圍裡面
when(x)
{
in 1..10 -> //do something
!in 1..10 -> //do something
else -> //do something
}
is和is!可以判斷是否為某型態
val hasPrefix = when (x) {
is String -> x.startsWith("prefix")
else -> false
}