# Scala 变量
变量是一种使用方便的占位符,用于引用计算机内存地址,变量创建后会占用一定的内存空间。
基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字字母。
## 变量声明
在学习如何声明变量与常量之前,我们先来了解一些变量与常量。
* 一、变量: 在程序运行过程中其值可能发生改变的量叫做变量。如:时间,年龄。
* 二、常量 在程序运行过程中其值不会发生变化的量叫做常量。如:数值 3,字符'A'。
在 Scala 中,使用关键词 **"var"** 声明变量,使用关键词 **"val"** 声明常量。
声明变量实例如下:
```
var myVar : String = "Foo"
var myVar : String = "Too"
```
以上定义了变量 myVar,我们可以修改它。
声明常量实例如下:
```
val myVal : String = "Foo"
```
以上定义了常量 myVal,它是不能修改的。如果程序尝试修改常量 myVal 的值,程序将会在编译时报错。
## 变量类型声明
变量的类型在变量名之后等号之前声明。定义变量的类型的语法格式如下:
```
var VariableName : DataType [= Initial Value]
或
val VariableName : DataType [= Initial Value]
```
变量声明不一定需要初始值,以下也是正确的:
```
var myVar :Int;
val myVal :String;
```
## 变量类型引用
在 Scala 中声明变量和常量不一定要指明数据类型,在没有指明数据类型的情况下,其数据类型是通过变量或常量的初始值推断出来的。
所以,如果在没有指明数据类型的情况下声明变量或常量必须要给出其初始值,否则将会报错。
```
var myVar = 10;
val myVal = "Hello, Scala!";
```
以上实例中,myVar 会被推断为 Int 类型,myVal 会被推断为 String 类型。
## Scala 多个变量声明
Scala 支持多个变量的声明:
```
val xmax, ymax = 100 // xmax, ymax都声明为100
```
如果方法返回值是元组,我们可以使用 val 来声明一个元组:
```
val (myVar1: Int, myVar2: String) = Pair(40, "Foo")
```
也可以不指定数据类型:
```
val (myVar1, myVar2) = Pair(40, "Foo")
```
- Scala 教程
- Scala 简介
- Scala 安装
- Scala 基础语法
- Scala 数据类型
- Scala 变量
- Scala 访问修饰符
- Scala 运算符
- Scala IF...ELSE 语句
- Scala 循环
- Scala while 循环
- Scala do...while 循环
- Scala do...while 循环
- Scala break 语句
- Scala 函数
- Scala 函数传名调用(call-by-name)
- Scala 指定函数参数名
- Scala 函数 - 可变参数
- Scala 递归函数
- Scala 高阶函数
- Scala 函数嵌套
- Scala 匿名函数
- Scala 偏应用函数
- Scala 函数柯里化(Currying)
- Scala 闭包
- Scala 字符串
- Scala 数组
- Scala Collection
- Scala List(列表)
- Scala Set(集合)
- Scala Map(映射)
- Scala 元组
- Scala Option(选项)
- Scala Iterator(迭代器)
- Scala 类和对象
- Scala Trait(特征)
- Scala 模式匹配
- Scala 正则表达式
- Scala 异常处理
- Scala 提取器(Extractor)
- Scala 文件 I/O