Scala变量

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

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

object ScalaFuncDemo01 {def main(args: Array[String]): Unit = {var a:Int = 1 //定义一个整型变量,取名为a,并赋值为1var b:Int = 3 //定义一个整型变量,取名为b,并赋值为3b=89println("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 = 0var score : Double = 1.0var gender : Char  = 'N'var name : String = "scott"//2.赋值【可以修改值】num = 99score = 1.5gender = '\n' //换行..name = "wertyuhijfgdsfgh@#$%^&*"//3.使用【将值拿出来用】println("num=" + num)println("score=" + score)println("gender=" + gender)println("name=" + name)}
}

运行结果:

num=99
score=1.5
gender=name=wertyuhijfgdsfgh@#$%^&*

程序中 +号的使用

  • 当左右两边都是数值型时,则做加法运算
  • 当左右两边有一方为字符串,则做拼接运算

Scala变量介绍及入门示例相关推荐

  1. 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门示例

    一. 工作区域详解 1. Scence视图 (场景设计面板) scence视图简介 : 展示创建的游戏对象, 可以对所有的游戏对象进行 移动, 操作 和 放置; -- 示例 : 创建一个球体, 控制摄 ...

  2. JVM插桩之一:JVM字节码增强技术介绍及入门示例

    字节码增强技术:AOP技术其实就是字节码增强技术,JVM提供的动态代理追根究底也是字节码增强技术. 目的:在Java字节码生成之后,对其进行修改,增强其功能,这种方式相当于对应用程序的二进制文件进行修 ...

  3. Scala Actor并发编程入门示例

    代码 package cn.zxl.actorimport akka.actor.{Actor, ActorRef, ActorSystem, Props}/*** @description:* @a ...

  4. CKEditor快速介绍与入门示例

    CKEditor 富文本编辑器 CKEditor 是一款知名的WYSIWYG富文本Web编辑器,WYSIWYG 的全称是what you see is what you get,也就是所见即所得. 富 ...

  5. 微信公众号api关注接口php,微信公众平台接口开发入门示例

    本文实例讲述了微信公众平台接口开发入门示例.分享给大家供大家参考.具体如下: 微信公众平台的接口开发是一个现在比较常用的功能了,很多的人都会去了解一下微信公众平台一些简单开发应用,这里就来给大家介绍一 ...

  6. Java日志框架 -- 日志框架介绍、日志门面技术、JUL日志(JUL架构、JUL入门示例、JUL日志级别、JUL日志的配置文件)

    1. 日志的概念 日志文件是用于记录系统操作事件的文件集合,可分为事件日志和消息日志.具有处理历史数据.诊断问题的追踪以及理解系统的活动等重要作用. 2. Java日志框架 问题: 控制日志输出的内容 ...

  7. TIA博途中变长数组的介绍与使用入门示例

    TIA博途中变长数组的介绍与使用入门示例 使用变长数组的注意事项: 接口参数Array[*] of -,实参使用指定类型数组: 可以使用的范围:FC的Input.InOut,FB的InOut: FC或 ...

  8. Spring入门示例及相关概念介绍

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Spri ...

  9. scala方法中的变量_Scala变量,变量范围,字段变量,方法参数示例

    scala方法中的变量 Variables can be defined as the reserve space in memory to store the assigned values. Ba ...

最新文章

  1. linux文件描述符与标识符,文件描述符fd
  2. Spring Boot 2.x基础教程:使用 Thymeleaf开发Web页面
  3. 小程序如何用data的数据控制页面展示_17. 教你零基础搭建小程序:小程序事件绑定(1)
  4. 论文阅读计划2(Deep Joint Rain Detection and Removal from a Single Image)
  5. 01. elasticsearch certification 练习题
  6. 170. Two Sum III - Data structure design【easy】
  7. Java异步非阻塞编程的几种方式
  8. extjs 月份选择控件_Excel | 做个生日提醒控件,本月或下月过生日的员工信息随你查看...
  9. mysql主从北_mysql主从复制(超简单)
  10. 沙盘模拟软件_3D电子心理沙盘系统
  11. 元类介绍、自定制元类
  12. 数学之美 第二版 pdf
  13. 贪吃蛇游戏设计汇报c语言,贪吃蛇游戏设计报告(C++).doc
  14. PTA 数据结构与算法题目集(中文)7-38 寻找大富翁(25 分)快排或堆排序
  15. javah生成的头文件在方法名前加1
  16. 找坏球——面试智力题
  17. 《私募股权基金投资基础知识》---第二章
  18. 高盛发布区块链报告:从理论到实践(中文版)一
  19. AutoSAR开发的三种方法:自上而下式、自下而上式、混合式
  20. 常见的无法上网故障原因和解决方法

热门文章

  1. MySQL 笔记9 -- PyMySQL
  2. access开发精要(7)-定位记录、查找空值
  3. twsited快速基础
  4. 【深度学习】吊打一切现有版本的YOLO!旷视重磅开源YOLOX:新一代目标检测性能速度担当!...
  5. 【机器学习】FaceBook开源全网第一个时序王器--Kats。
  6. 【深度学习】人人都能看得懂的卷积神经网络——入门篇
  7. ICLR 2020共计198篇开源代码论文合集!
  8. 三个Python入门小项目
  9. 小议WebRTC拥塞控制算法:GCC介绍
  10. python+xlrd+echarts数据可视化demo