scala自学之路-04-变量

定义变量

var 变量名=初始化值

var 变量名:数据类型=初始化值

(1)定义变量的时候需要初始化(抽象字段除外)

(2)定义变量的时候可以不指定变量的数据类型,系统会根据变量的初始化值推断变量的数据类型;

var a=1

 

一旦确定类型后,则不可改变,比如已经确认a是Int类型,则不可以为其赋值10.9

定义常量

val 常量名=初始化值

val 常量名:数据类型=初始化值

注意:val修饰的常量,相当于java中final修饰的变量,就是常量。

val修饰的变量,如果类型是值类型(相当于java的基本数据类型:int double等八大类型),值是不可以修改的。

 

但是var修饰的值是可以修改的。

val如果修饰的类型是引用类型,引用不可变,引用的内容可变。

val a1=Array(1,2,3)

val a2=Array(2,3,4)

a1=a2//不可以,引用不可变

a1(0)=10//可以,引用的内容可变

 

val修饰的变量,如果还使用lazy修饰,则可以在使用的时候再赋值。

 

lazy只能修饰val变量,不可以修饰var变量。

变量是选择val还是var?

官方推荐val

(1)值不可变,可读性更强

(2)值不可变,更安全

(3)垃圾回收的时候可以被更快的回收

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值