scala 学习第2弹 说说常量val与变量var,Scala数据类型

 val:常量,相当于Java中的fimal关键字

1. 当val修饰值类型时,不可修改

 

2.当val修饰引用类型,引用不可变,但是引用的内容可以改变

 

var:变量,可以改变

 

注意点:

1.优先使用val(在无需改变时),有利于代码的可读性和垃圾回收

2.lazy关键字只针对val,表示需要使用的时候才进行赋值,用于不确定的初始化工作

3. scala能自动进行变量的类型推断,但它与Java,C等语言一样是静态类型语言

object s2_scalaVal {
  def main(args: Array[String]): Unit = {
    // 变量定义
    var v1 = 1
    var v2: Int = 2

    // 常量定义 val修饰的基本数据类型,在scala中称为值类型,其值不可以修改
    val v3 = 1 // 相当于final修饰
    val v4: Double = 2.0

    // v3 = 4 报错

    println(v1 + v2 + v3 + v4)

    // val 修饰的引用类型,引用不可变,引用的内容可变
    val a1 = Array(1, 2, 3)
    val a2 = Array(4, 5, 6)

    // a1 = a2 不可以,引用不可变
    a1(0) = 10 // 可以,内容可以变
    println(sum(a1))

    // val 可以使用lazy修饰,在需要使用的时候才会赋值
    lazy val lazy1 = 256
    println(lazy1) // 使用时会赋值


    // forLoop
    var a = 0
    // for 循环
    /*
    * for( var x <- Range ){
   statement(s);
}*/
    for (a <- 1 to 10) {
      print(a + " ");
    }
    println()


  }

  // 注意函数的写法
  /*
  * def functionName ([参数列表]) : [return type] = {
   function body
   return [expr]
}*/
  def sum(array: Array[Int]): Int = {
    var res = 0
    for (elem <- array) {
      // forEach 循环
      res += elem
    }
    return res
  }


}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值