《Kotlin》基础一

Kotlin的基础:
  • Int,Short,Long,Float,Double,Boolen,Char,Byte,和Java对比所有首字母变大写,而且Kotlin只有引用类型,没有像Java有引用类型和基本数据类型
  • 函数(方法):fun 函数名()

/**
* 变量
*/

//可变变量
var h = 5;//自动推导类型为Int
var j: String = "大械"//显式声明变量类型

//不可变量(只读) 对应java的final
val g = 2;

/**
* 函数(方法)
*/

fun method() {
//逻辑
}

//带参数
fun method(F: String) {
//逻辑
}

//返回类型为Int
fun methodTow(G: String): Int {
//逻辑
return 1
}


fun methodThree(G: String): Int = 5//返回值等于5
fun methodFore(G: String) = 1//自动推导类型
fun methodFive(G: String): Unit {//Unit没有返回值,可省略对应java的void
//逻辑
}

/**
* if
*/

//if
fun ifTest(num1: Int, num2: Int): Int {
var value = 0;
if (num1 > 0) {
value = num1;
} else {
value = num2;
}
return value
}

//if每个条件都可以有返回值
fun ifTestTow(num1: Int, num2: Int): Int {
//如果num1>0,value=num1否则value=num2
var value = if (num1 > 0) {
num1
} else {
num2
}
return value

}

//直接返回一个if
fun ifTestThree(num1: Int, num2: Int): Int {
return if (num1 > 0) {
num1
} else {
num2
}
}

//自动推导类型返回if
fun ifTestFore(num1: Int, num2: Int) = if (num1 > 0) {
num1
} else {
num2
}

}

/**
* when(相当于java的switch)
*/
//用if实现when的效果
fun getScoreIf(name: String) = if (name == "Tom") {
86
} else if (name == "Jim") {
86
} else if (name == "jack") {
86
} else if (name == "Lily") {
86
} else {
0
}


//when(可有返回值)
fun getScoreWhen(name: String) = when (name) {
"Tom" -> 86
"Jim" -> 86
"jack" -> 86
"Lily" -> 86
else -> 0
}

//when可类型匹配(is相当于java中的instanceof)
fun checkNumber(num: Number) {
when (num) {
is Int -> print("Number is Int")
is Double -> print("Number is Double")

}
}

//when(不带参数)
fun getScore(num: String) = when {
num == "Tom" -> 86
num == "Jim" -> 86
num == "jack" -> 86
else -> 0

}

//注意:kotlin中判断对象可以直接用==判断,不像java调用equlas()方法


/**
* while和java用法一样
*/

/**
* for循环
*/

//区间range(闭区间)[0-10]
val range = 0..10

//遍历0-10
fun forTest() {
for (i in 0..10) {
print(i)
}
}

//区间range[0-10)左边闭区间
val rangeTow = 0 until 10

fun forTow() {
for (i in 0 until 10) {
print(i)
}
}

//区间range[0-10)左边闭区间,并且每次循环i+2
fun forThree() {
for (i in 0 until 10 step 2) {
print(i)
}
}

//降序区间[10-1]
fun forFore() {
for (i in 10 downTo 1) {
print(i)
}
}
posted @ 2021-08-11 10:55  白晨里的影子  阅读(77)  评论(0)    收藏  举报