Kotlin 基础
1: 日志打印
println 缓冲自动刷新. logcat 直接输出打印.
println("Hello World!....123")
print 缓冲不刷新 logcat 中无输出.
解决办法:
-
print 后增加flush(),手动刷新.
print("Hello") print("111") System.out.flush() -
手动添加换行
print("Hello222\n") print("Hello333\n")
Log立即打印
Log.d("Hello","world world")
test:
/**
* 函数:用于测试
*/
fun test() {
println("Hello World!....123")
print("Hello")
print("111")
System.out.flush()
print("Hello222\n")
print("Hello333\n")
print("Hello444")
Log.d("Hello","world world")
var a = 1
a = 2
println(a)
val b = 2
// b= a
println("Hello"+b)
}
输出如下:
2026-04-01 13:01:12.825 2990-2990 System.out com.zh.systemtest I Hello World!..123
2026-04-01 13:01:12.826 2990-2990 System.out com.zh.systemtest I Hello111
2026-04-01 13:01:12.826 2990-2990 System.out com.zh.systemtest I Hello222
2026-04-01 13:01:12.826 2990-2990 System.out com.zh.systemtest I Hello333
2026-04-01 13:01:12.826 2990-2990 Hello com.zh.systemtest D world world
2026-04-01 13:01:12.827 2990-2990 System.out com.zh.systemtest I Hello4442
2026-04-01 13:01:12.827 2990-2990 System.out com.zh.systemtest I Hello2
2: 变量
val (value) - 不可变引用,只能赋值一次
var (variable) - 可变引用,可以多次赋值
var a = 1
println(a)
val b = 2
b= a //这块会直接报错.
println(b)
3: 类型转换
代码如下:
fun main() {
var a:Int = 1
var b:Long = a //会报错
println(b)
}
在 Kotlin 中,类型转换与java不同, 要将一种数值数据类型转换为另一种类型,你必须使用以下函数之一:toByte()、toShort()、toInt()、toLong()、toFloat()、toDouble() 或 toChar().
4: 字符串
fun main() {
var a:Int = 1
var b:Long = a.toLong()
println(b)
var str1 = "hello"
var str2 = "world"
println(str1+str2)
println(str1.plus(str2))
}
使用plus函数链接字符串.
除了连接之外,您还可以使用"字符串模板",这是一种在字符串内部添加变量和表达式的简单方法。
只需用 $ 符号引用变量即可:
var str3 = "hello"
var str4 = "world"
println("this is $str3 $str4")
输出:
this is hello world
5: if... else
当 if 用作表达式时,您还必须包含 else(必需)。
var i = 4
val str5 = if (i < 12) {
"morning"
}else {
"eat"
}
println(str5)
6: when
val i = 4
val day = when (i) {
1 -> "Monday"
2 -> "Tuesday"
3 -> "Wednesday"
4 -> "Thursday"
5 -> "Friday"
6 -> "Saturday"
7 -> "Sunday"
else -> "Invalid day"
}
println(day)