scala val和var变量

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值