學習一門語言,我總是會先學習一下基本的語法。因爲並不急着應用Kotlin去開發項目,所以,還是有很多的時間去學習。今天,簡單的總結一下Kotlin的基本語法。
一.函數
1.有參有返回值函數
fun sum(x: Int, y: Int): Int {
return x + y
}
2.有參無返回值函數
fun printSub(x: Int, y: Int) {
println(x - y)
}
3.無參無返回值函數
fun printMul() {
println(3 * 5)
}
4.無參有返回值函數
fun div(): Int {
return (9 / 3)
}
二.變量
1.定義只讀局部變量,使用val關鍵字,只能賦值一次:
val a: Int = 1 //立即賦值
val b = 2 //自動推斷類型:Int
val c: Int //沒賦值,類型不能省略
c = 3
2.定義可重新賦值的變量,使用var關鍵字,此變量不可爲null:
var d = 4
d += 1
4.定義可空變量,使用?且類型不可省略,此變量可以被賦值爲null:
var e: String? = "hello"
e = null
3.定義常量,使用const val關鍵字:
const val TAG = "HELLO_KOTLIN"
4.定義後期初始化變量,使用lateinit關鍵字,不能聲明於基本數據類型,使用前必須初始化:
lateinit var f:String;
如果在使用前不初始化,會報異常UninitializedPropertyAccessException:
5.定義頂層變量,即在類之上:
const val TAG = "HELLO_KOTLIN"
三.註釋
1.單行註釋
//
2.多行註釋
/*
*/
四.字符串模板
1.使用$
val a: Int = 1
println("a:$a")
2.使用${}
var g:String = "xxx";
println("$g.length is ${g.length}")
五.條件判斷語句
1.if語句
fun ifTest(x: Int, y: Int): Int {
if (x > y) {
return x
} else {
return y
}
}
2.when語句
fun whenTest(x: Int):String?{
when(x){
1 -> return "Monday"
2 -> return "Tuesday"
3 -> return "Wednesday"
4 -> return "Thursday"
5 -> return "Friday"
6 -> return "Saturday"
7 -> return "Sunday"
}
return null
}
六.循環語句
1.for 循環
fun forTest(){
var list = listOf<String>("a","b","c")
for (item in list){
println(item)
}
}
2.while循環
fun whileTest(){
var list = listOf<Int>(1,2,3)
var index =0
while (index<list.size){
println(list.get(index))
index++
}
}
七.is運算符
is 運算符檢測一個表達式是否某類型的一個實例,如果是該類型的實例,則可以直接使用該類型的方法,不需要顯示類型轉換:
fun getStringLength(obj:Any):Int?{
if(obj is String){
return obj.length
}else{
return null
}
}
八.in運算符
使用in運算符來檢測某個數字是否在指定區間內:
fun inTest(x:Int):Boolean{
return (x in 1..10)
}
九.全部代碼
package com.tudu.kotlin
//定義頂層變量
const val TAG = "HELLO_KOTLIN"
fun main() {
//定義只讀局部變量使用val
val a: Int = 1 //立即賦值
val b = 2 //自動推斷類型:Int
val c: Int //沒賦值,類型不能省略
c = 3
//定義變量
var d = 4
d += 1
//定義可空變量
var e: String? = "hello"
e = null
//定義後期初始化變量
lateinit var f:String;
var g:String = "xxx";
println(sum(2, 3))
printSub(2, 1)
printMul()
println(div())
println("a:$a")
println("b:$b")
println("c:$c")
println("d:$d")
println("e:$e")
f = "123"
println("f:$f")
println("$g.length is ${g.length}")
println("TAG:$TAG")
println(whenTest(7))
forTest()
whileTest()
println(getStringLength("123abc"))
println(inTest(5))
}
//有參有返回值函數
fun sum(x: Int, y: Int): Int {
return x + y
}
//有參無返回值函數
fun printSub(x: Int, y: Int) {
println(x - y)
}
//無參無返回值函數
fun printMul() {
println(3 * 5)
}
//無參有返回值函數
fun div(): Int {
return (9 / 3)
}
//if條件判斷語句
fun ifTest(x: Int, y: Int): Int {
if (x > y) {
return x
} else {
return y
}
}
//when條件判斷語句
fun whenTest(x: Int):String?{
when(x){
1 -> return "Monday"
2 -> return "Tuesday"
3 -> return "Wednesday"
4 -> return "Thursday"
5 -> return "Friday"
6 -> return "Saturday"
7 -> return "Sunday"
}
return null
}
//for循環
fun forTest(){
var list = listOf<String>("a","b","c")
for (item in list){
println(item)
}
}
//while循環
fun whileTest(){
var list = listOf<Int>(1,2,3)
var index =0;
while (index<list.size){
println(list.get(index))
index++
}
}
//is
fun getStringLength(obj:Any):Int?{
if(obj is String){
return obj.length
}else{
return null
}
}
//in
fun inTest(x:Int):Boolean{
return (x in 1..10)
}
學習一門新的語言,我還是習慣先從基本語法看起,雖然很多人覺得這很浪費時間。這篇博客簡單總結了一下Kotlin的基本語法,其實很多地方和Java有共同之處,還是比較好上手的。