变量定义
- 声明变量
 
  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 "对不起"}");//字符串里计算表达式的值,并插入,并添加在${}中的任何表达式
                


















