变量定义
- 声明变量
var maximumAge: Int = 5;
- 数据类型全部都是引用类型
var y1: String = "Hello World";
var y2: Char = 'A';
var y3: Boolean = true;
var y4: Int = 5;
var y5: Double = 3.14;
-
var和val
- 声明可修改使用var
- 声明只读使用val,只读变量并非绝对只读
-
类型推断
- 对于已声明并赋值的变量,允许省略类型定义
var name = "abc";
编译时常量
- 编译时常量只能定义在函数之外
- 编译时常量必须在编译时赋值,而函数都是在运行时才调用,函数内的变量也是在运行时赋值,编译时常量要在这些变量赋值前就已存在
const val a: Int = 1100;//编译时常量
- 编译时常量只能是基本的基本数据类型
条件表达式
-
if 表达式
和Java的相同
-
range表达式
- in A…B 用来检查某个值是否在某个范围内
private fun aa(age: Int) {
if (age in 20..21) {//20<= q <=21
println("婴幼儿");
} else {
println("少年");
}
}
-
when表达式
- 允许编写条件式,在某个条件满足时,执行相应代码
- 代码包含if else都建议改成when
private fun bb() {
val school = "0学";
val level: Any = when (school) {
"学前班" -> "幼儿"
"小学" -> "少儿"
"中学" -> "青少年"
"大学" -> "成人"
else -> {
println("未知");
}
}
println(level);//没有返回值类型的叫Unit函数
}
string模板
- 支持在字符串的引号内放置变量,使用$+变量
val origin = "jack"
val dest = "rose"
println("$origin love $dest");//支持在字符串的引号内放置变量
- 支持在字符串的引号内计算表达式结果,使用${},添加中任何表达式
val flag = false;
println("Answer is ${if (flag) "我可以" else "对不起"}");//字符串里计算表达式的值,并插入,并添加在${}中的任何表达式