Scala变量介绍及入门示例

本文介绍了Scala中的变量声明和使用,包括var和val的区别。var表示可变变量,val表示不可变变量,强调了不可变性的优点,如线程安全和对象不变性。此外,还展示了变量的赋值和类型推导,以及在程序中的基本使用方法。
摘要由CSDN通过智能技术生成

Scala变量

变量是程序的基本组成单位

不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位,比如:

object ScalaFuncDemo01 {
  def main(args: Array[String]): Unit = {
    var a:Int = 1 //定义一个整型变量,取名为a,并赋值为1
    var b:Int = 3 //定义一个整型变量,取名为b,并赋值为3
    b=89
    println("a="+a)
    println("b="+b)
  }
}

程序运行结果:

a=1
b=89

变量的介绍

概念

变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。

变量使用的基本步骤

  • 声明/定义变量 (scala要求变量声明时初始化)
  • 使用

变量声明基本语法

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

注意事项

  • 声明变量时,类型可以省略(编译器自动推导,即类型推导)。

  • 类型确定后,就不能修改,说明Scala 是强数据类型语言。

  • 在声明/定义一个变量时,可以使用var 或者 val 来修饰, var 修饰的变量可改变,val 修饰的变量不可改。

  • val修饰的变量在编译后,等同于加上final, 可以通过反编译看下底层代码。

  • var 修饰的对象引用可以改变,val 修饰的则不可改变,但对象的状态(值)却是可以改变的。(比如: 自定义对象、数组、集合等等) 。

    var 和 val 的详解
    var 修饰的变量可改变,val 修饰的变量不可改
    var 修饰的对象引用可以改变,val 修饰的则不可改变,但对象的状态(值)却是可以改变的
    val 的好处是

    【1】如果一个对象不想改变其内部的状态,那么由于不变性,我们不用担心程序的其他部分会改变对象的状态

    【2】 线程安全
    详见 https://blog.csdn.net/a1234H/article/details/77962536

  • 变量声明时,需要初始值。

变量的基本使用

object ScalaFuncDemo02 {
  def main(args: Array[String]): Unit = {
    //1.声明变量【告诉计算机要开一个房间,并赋值】
    var num : Int = 0
    var score : Double = 1.0
    var gender : Char  = 'N'
    var name : String = "scott"
    //2.赋值【可以修改值】
    num = 99
    score = 1.5
    gender = '\n' //换行..
    name = "wertyuhijfgdsfgh@#$%^&*"
    //3.使用【将值拿出来用】
    println("num=" + num)
    println("score=" + score)
    println("gender=" + gender)
    println("name=" + name)
  }
}

运行结果:

num=99
score=1.5
gender=

name=wertyuhijfgdsfgh@#$%^&*

程序中 +号的使用

  • 当左右两边都是数值型时,则做加法运算
  • 当左右两边有一方为字符串,则做拼接运算
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

学亮编程手记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值