一、基本語法
1、1 定義變量
-
在Kotlin中 數據類型要放在變量後面,並且用冒號(:)分割
-
定義變量用var,常量用val
-
在kotlin中,數據類型都以大寫字母開頭
-
在定義變量時未進行初始化,必須指定數據類型,在定義變量時進行初始化, 可以不指定數據類型
var n: Int = 30; //定義變量
var ok: Int; //定義一個變量, 沒有進行初始化
val m: Int = 20; //定義一個常量 不需要設置m
ok = 40; // 對變量賦值
// m = 40; 編譯出錯 var cannot be reassigned
var k = 100; //自動推導變量k的數據
1、2 定義方法
- 1、必須包含fun關鍵字,函數名
- 2、如果函數有返回值,返回值類型在函數定義部門末尾指定,與函數用(:)分開
- 3、如果沒有返回值,可以返回Unit,也可以什麼都不返回
fun add(m : Int ,n : Int):Int
{
return m + n
}
fun process(m: Int):Unit
{
print(m)
}
1、3 註解的使用
fun zhushi()
{
//單行註釋
/*
塊註釋
*/
/**
hello
/* World*/
這是一個嵌套註釋
*/
}
二、基本數據類型
2、1數據類型
var price: Double = 12.4
var flag: Boolean = true
var v1: Int = 100
var v2: Double = 20.2
var m = 20
var n: Byte = 20
// m = n 編譯報錯 Type mismatch 無法將byte轉換爲int
var x : Long = 20
val value : Short = 20
Kt 數據類型之間的轉換
/**
Kt數據類型之間的轉換
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
*/
m = n.toInt();
x = value.toLong();
2、2 字符類型
/**
1、Kt中字符不能看作是數字
2、字符用單引號
*/
var c : Char = 'h'
/**
Kt支持反斜槓(\)轉義符
\t : 製表符
\b : 退格符
\n : 換行符
\r : 回車符
\' : 單引號
\" : 雙引號
\\ : 反斜槓
*/
}
fun decimalDigitVale(c : Char) : Int
{
if( c !in '0' ..'9'){
throw IllegalArgumentException("Out of range")
}
//將指定字符轉化爲對應的ASCII 然後減去0對應的ASCII
return c.toInt() - '0'.toInt();
}
2、3 Boolean類型
fun testBool()
{
var flag1 : Boolean = true
var flag2 : Boolean = false;
print( !flag2) //進行邏輯非 操作
print( flag1 || flag2) //進行邏輯或 操作
print(flag1 && flag2) //進行邏輯與 操作
}
2、4 數組
// 1、使用arrayOf函數定義可以存儲任意值的數組
var arr1 = arrayOf(1,2,3,'a')
print(arr1[3])
arr1[2] = 'b' //對數組元素賦值
print(arr1[2])
//2、使用arrayOfNulls函數定義指定長度的空數組(數組元素中沒有值)
var arr2 = arrayOfNulls<Int>(10)
print("arr2的長度:"+arr2.size)
//3、使用Array類的構造器指定數組長度和初始化數據的方式定義數組
//使用Array類的構造器定義數組 其中第二個參數是指初始化每一個元素的值
val arr3 = Array(10,{i -> (i * i).toString()})
//4、使用intArrayOf,shortArrayOf等函數定義指定類型的數組,並初始化
var arr4 : IntArray = intArrayOf(20,30,40,50)
print("arr4[2] = " + arr4[2])
2、5 字符串
在Kt中 使用String表示字符串類型,有兩類字符串
-》 普通字符串 可以在字符串中加上轉義符,如 \n ,會讓轉義符後面的字符串換到下一行,這種字符串需要放在雙引號中
-》 保留原始格式的字符串,不能使用字符串,如果字符串中帶有格式,如換行,直接寫在字符串中,這種字符串需要放在3個引號對中
//第一類字符串
var s1 = " hello \n world"
val s2 = "你好 \n 世界"
println(s1)
println(s2)
//第二種字符串 保留原有格式
var s3 = """"
Hello
World
I LOVE U
"""
println(s3)
2、6 字符串模板
字符串模版: 在字符串中添加若干個佔位符,內容會在後期指定
模板使用美元符號($)設置,如"i = i就是一個佔位符,其中$後面的i是變量,隨着i的變化,"i = $i"中的值也隨着變化
val i = 10
val s1 = "i = $i"
println(s1)
var s2 = "abc"
val str = "$s2 的長度是 ${ s2.length}"
println(str)