val和var的区别

美图欣赏:
在这里插入图片描述
一.背景

学习过程中,会有很多小的并且容易混淆知识点,因此会把它记录下来。

二.val(value)和var(variable)的区别

基本语法:

var|val 变量名 : 变量类型 = 变量值

1.使用var或者val定义一个变量。

使用var(variable)声明变量,可以被重新赋值,引用可以变

// 定义变量a2,手动指定类型为Int,此时需要保证所赋值类型匹配
scala> var i2:Int = 2                                                                        
i2: Int = 2
// 变量间可以互相赋值,并可以使用var重新定义
scala> i2 = 3 
i2: Int = 3                                                                                     
                                                                                                                                                                               

2.使用val(value)声明常量, 引用不可变

val修饰的变量,相当于Java中final修饰的变量;
注意:是引用不可变

scala> val a = 2
a: Int = 2
scala> a
res5: Int = 2

scala> a = 3
<console>:12: error: reassignment to val
       a = 3

再次定义一个新的常量val ,是可以的

scala> val a = 8
a: Int = 8

三.举个Map的例子

1.在val中 map的值是可以变的,但是map的引用依然没有变

2.在var中,map的值是可以变的,但是map的引用可以变


scala> val map = scala.collection.mutable.Map(("Jackson",10000),("Tom",2000))
map: scala.collection.mutable.Map[String,Int] = Map(Jackson -> 10000, Tom -> 2000)

scala> map("Jackson") = 20000

scala> map
res4: scala.collection.mutable.Map[String,Int] = Map(Jackson -> 20000, Tom -> 2000)

scala> var map = scala.collection.mutable.Map(("Jackson",10000),("Tom",2000))
map: scala.collection.mutable.Map[String,Int] = Map(Jackson -> 10000, Tom -> 2000)

scala> map("Jackson") = 30000

scala> map
res7: scala.collection.mutable.Map[String,Int] = Map(Jackson -> 30000, Tom -> 2000)


                             ————保持饥饿,保持学习
                                   Jackson_MVP
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SuperBigData~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值