目录
一. Scala简介
scala是一门编程语言, 与java类似 , scala是一门面向对象 和 采用函数式编程的语言, scala的代码最终是运行在JVM上
使用的原因: 后期再操作spark的时候, 会使用scala语言, scala代码要比java代码操作起来更加优雅, 表达性较强 在scala值可以使用java的代码
二. Scala的变量定义
1. 格式
[lazy] val/var 变量标识:[变量类型] = 初始值
注意:
val: 定义的变量是不可变的
var: 定义的变量是可变的
变量的类型是可以省略的, 因为scala自动推断类型
在scala中, 每一行代码后面不需要添加 分号, 当然加了也不会报错, 但是如果一行中有多行scala的代码, 那么中间必须是分号隔开
在定义变量的时候, 建议选择val来定义变量, 如果无法满足需求, 在使用var定义
在构建变量的时候, 如果使用 lazy关键词, 构建的是一个惰性的变量
说明: 被标记为惰性的变量, 什么时候使用, 什么时候才会进行加载
2. 示例
scala> val name:String = "Amber"
name: String = Amber
scala> var age:Int = 18
age: Int = 18
//数据类型自动识别
scala> val name = "Amber"
name: String = Amber
scala> var age = 18
age: Int = 18
三. Scala的字符串
字符串使用: 双引号 或 三引号 包裹
示例:
scala> val str1 = "This is a String..."
str1: String = This is a String...
//三引号会保留格式(包括换行符)
scala> val sql = """select
| *
| from table1
| where age between 18 and 30;"""
sql: String =
select
*
from table1
where age between 18 and 30;
四. Scala中的基本数据类型
基础类型 | 类型说明 |
Byte | 8bit signed integer |
Short | 16bit signed integer |
Int | 32bit signed integer |
Long | 64bit signed integer |
Char | 16bit unsigned Unicode |
String | String |
Float | 32bit single precision |
Double | 64bit double precision |
Boolean | true/false |
数据类型的继承体系:
五. Scala中的操作符
类别 | 操作符 |
算数运算符 | + - * \ |
关系运算符 | > < == != >= <= |
逻辑运算符 | && || ! |
位运算符 | & | ^ >> << |
说明:
在scala中不支持 ++ --的操作, 如果要实现类似的操作, 可以使用以下操作:
scala> var age = 20
age: Int = 20
scala> age += 1
scala> age
res2: Int = 21
scala> age -= 10
scala> age
res4: Int = 11
在scala中, == != 都是用于比较值的操作, 如果要比较地址值 可以使用 eq
scala> val str1 = "amber"
str1: String = amber
scala> val str2 = str1 + ""
str2: String = amber
scala> str1 == str2
res0: Boolean = true
scala> str1.eq(str2)
res1: Boolean = false