一.变量
1.变量的介绍
变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门 牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。
变量使用的基本步骤
a.声明/定义变量
b.使用
2.变量基本使用
Scala变量使用案例入门
package com.zpark.bigdata.scala.chapter02
/**
* 变量
*/
object Scala01_Var {
//在方法外部使用val关键字声明变量,等同于使用final修饰
val sex : String = "男"
def main(args: Array[String]): Unit = {
//scala中变量必须显示的初始化
//scala目的是使用变量,所以声明变量在前,声明类型在后
//声明变量
//var(声明) 变量名称:变量类型 = 变量的值
//使用var声明的变量值可以被修改
// var name: String = "ziyou"
var age: Int = 10
var c : Char = 'c'
var b : Boolean = true
age = 20
//使用val声明的变量值不可以被修改
//由于通常变量值不会被改,所以推荐使用val来声明
val name: String = "ziyou"
}
}
3.Scala变量使用说明
变量声明基本语法 var | val 变量名 [: 变量类型] = 变量值
注意事项
a.声明变量时,类型可以省略(就是叫 类型推断)
b.类型确定后,就不能修改,说明Scala 是强数据类型语言
c.在声明/定义一个变量时,可以使用var 或者 val 来修饰, var 修饰的变量可改变,val 修饰的变量不可改
d.val修饰的对象属性在编译后,等同于加上final
e.var 修饰的对象引用可以改变,val 修饰的则不可改变,但对象的状态(值)却是可以改变的。(比如: 自定义对象、数组、集合等等)
f.变量声明时,必须有初始值(显示初始化)。
代码演示:
package com.zpark.bigdata.scala.chapter02
/**
* 变量
*/
object Scala01_Var_1 {
def main(args: Array[String]): Unit = {
//scala为了让开发过程变得简单,将能够自动推断出来的内容省略
//优点:更明确
val username : String = "zhangsan"
//scala中不看重类型,它可以自己推断出"lisi"是一个字符串,所以可以写成如下形式 变量类型可以省略
//优点:更简洁
val name ="lisi"
val i: Int = 1+1
println(name)
val dog = new Dog()
dog.name = "xxxxxx"
println(dog.name)
}
}
class Dog {
var name :String = ""
}
二.数据类型
1.scala数据类型介绍
Scala 与 Java有着相同的数据类型,在Scala中数据类型都是对象,也就是说scala没有java中的原生(基本)类型
Scala数据类型分为两大类 AnyVal(值类型) 和 AnyRef(引用类型), 注意:不管是AnyVal还是AnyRef 都是对象。
相对于java的类型系统,scala要复杂些!也正是这复杂多变的类型系统才让面向对象编程和函数式编程完美的融合在了一起