变量声明
/*
* val定义的值是不可变的,称为只读变量,初始化后不能再次被赋值
* var定义的值是可变的,初始化后可以多次赋值
* 默认情况下变量定义为val
* */
val a1=10
var a2=20
静态方法和非静态方法
scala中没有静态方法这个概念,需要通过伴生类对象来实现
调用非静态方法时,直接使用对象调用
Apply方法和update方法
/*
* apply方法和update方法
* apply方法是调用时可以省略方法名的方法,常用于构造和获取元素
* "hello".apply(4)等价于"hello"(4)
* */
println("hello".apply(4))
println("hello"(4))
//默认调用Array的Apply方法,自动构建一个数组
val arr = Array(1,2,3)
println(arr(2))
//更新,arr(1)=5等同于arr.update(1,5)
arr(1)=5
println(arr(1))
Option
/*
* Scala为单个值提供了对象的包装器,表示为那种可能存在也可能不存在的值。
* 两个有效的子类对象,当读取Scala集合时,若是所需集合有数据,则将该数据封装成Some集合返回
* 若没有数据,则直接返回None
* */
val map1=Map("name"->"nini","age"->20)
println(map1.get("age"))
println(map1.get("age").get)
println(map1.get("sex"))