scala中一切皆为对象,对象皆有方法
--变量
val 不可变变量,类似java中的final
var 可变变量
scala> val result=2+10
result: Int = 12
scala> result=13 --val类型的变量,第二次赋值时出错
<console>:8: error: reassignment to val
result=13
^
scala> var name="Spark"
name: String = Spark
scala> name="Scala" --var类型的变量,第二次可继续赋值
name: String = Scala
scala> name
res4: String = Scala
--手动指定类型
scala> val age:int=0
<console>:7: error: not found: type int
val age:int=0
^
scala> val age:Int=0
age: Int = 0
scala> val name:String=null
name: String = null
如果是var声明的变量,后面再赋值的话必须是指定的类型或者子类型
--多个变量同时赋值
scala> val age1,age2,age3=0
age1: Int = 0
age2: Int = 0
age3: Int = 0
scala> 0.to(5)
res6: scala.collection.immutable.Range.Inclusive = Range(0, 1, 2, 3, 4, 5)
scala> 1+1
res7: Int = 2
--+号也是对象的方法
scala> 1.+(1)
warning: there were 1 deprecation warning(s); re-run with -deprecation for details
res8: Double = 2.0
scala> 1++ --scala中没有++
<console>:8: error: value ++ is not a member of Int
1++
^
scala> var age=10
age: Int = 10
scala> age+=1
scala> age
res12: Int = 11
-----------------------------------------------
--val 用在class的参数中,表示既是参数,又是属性
class Person(name: String) --name是私有的
class Person(val name: String) --name是公共的,外部可以访问
scala> class Person(name: String)
defined class Person
scala> new Person("Spark").name
<console>:17: error: value name is not a member of Person
new Person("Spark").name
^
scala> class Person(val name: String)
defined class Person
scala> new Person("Spark").name
res3: String = Spark
scala val和var变量
最新推荐文章于 2020-04-26 14:50:03 发布