Scala基础随笔(一)

厉害了我的值
scala中用val定义的东西即为常量,是不可修改的,scala把它称之为值,用var定义的东西即为变量,是可修改的。当然val和var都是用来存储数据的,scala称他们为“域”

//厉害了我的值

val name = "nodeBill"
println("我的名字是"+name)
name = "1024" //看这里,出错了
/*代码执行后会提示: error: reassignment to val
 错误:对val“常量类型的值”进行重复赋值
 原因是上述代码块最后一行重新对常量name进行了赋值*/

class MobilePhone(var color:String = "蓝色",val price:Int = 1024){
    def show():Unit = println("这是一款"+ color +"、价值" + price +"元的移动智能终端" )
}

val myPhone = new MobilePhone
myPhone.color = "银灰色"
myPhone.show()
myPhone.price = 2048 //看这里,出错啦
myPhone.show()
/*代码执行后会提示: error: reassignment to val
 错误:对val“常量类型的值”进行重复赋值
 原因是上述代码块倒数第二行重新对常量price进行了赋值*/

 case class Computer(brand:String,RAM:Int){
    def this() = {
        this("DELL",4)
    }
    def display():Unit = println("这是一台内存大小为"+ RAM +"GB的"+brand+"电脑")
 }

 val myComputer = new Computer
 myComputer.display()
/*上述代码块能够正确执行,需要强调的是case类默认将
类参数设置为常量即case class Computer(val brand:String,val RAM:Int)*/

“其实什么都没有”Unit
如果一个常量、变量、函数并不返回结果,那么就可以把它声明为Unit类型。

//“其实什么都没有”Unit

var name = println("nodeBill")

/*直接在REPL模式下执行该行代码会出现
nodeBill
name: Unit = ()
结果,表示name这个变量里面什么都没有*/

println(name)

/*当尝试输出name时,你看到如下结果:
()
只能看到一对括号。*/

var name:Unit = ()
var age :Int = 20

/*对比可以体会到Unit型的变量里面似乎
是一对小括号,其实只要变量、常量的值
是a pure expression(纯表达式),那么
该变量或常量就是Unit型,对于Unit型的方法也是同理*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值