0 下载地址: http://www.scala-lang.org/download/

 

1 概念:

可伸缩的语言是一种多范式的编程语言,一种类似java的编程,设计初衷是要集成面向对象编程和函数式编程的各种特性(来在百度百科,基本没看懂这概念表达个啥出来)

 

 

 2 特点:

 a) 能调用java

 b) 面向对象+函数式编程

 c) 语法简洁 

 d)支持并发控制(为spark支持提供保证)

 e)静态类型化(多声明常量 少声明变量)

 f) 强类型语言,必须定义类型

 g) 所有变量都是对象,所有操作都是方法

 

3 安装: 下载后,双击 scala-2.11.1.msi安装即可,然后将按照后的bin目录配置到机器path变量中

scala_0_安装_语法_大数据


 

 

4 安装后验证:

scala_0_安装_语法_scala_02


 

 

5 语法:

 

a)数值类型(没有首字母小写,这点要和java区别)

 整数值: Byte, Short, Int, Long (和java类型长度一致, 定义Long类型写法: val num = 32L)

 浮点型: Double, Float(和java类型长度一致,默认类型为Double,定义Float写法: val num = 1.2F)

 布尔: Boolean(true/false)

 字符: Char String

 

  

b) 声明与赋值

 

操作

操作符

案例

说明

声明常量

val

val a:Int  = 3

val a = 3

类型可省略不写,如果不写,则走的是默认类型

 

 val 变量的值只能初始化一次,再次赋值就发生错误,

类似于java中的

staitc final字段

 

声明变量

var

var msg="hello"

可以随时修改,

和java变量一样

声明函数

def

 

def 函数名(参数a:类型,参数b:类型):函数返回值类型={函数体}



最后的Int表示方法返回值类型

 

def max(x: Int, y: Int): Int = if(x < y) y else x 

 

调用写法:

max(3,8)

声明类型

type

 

 

声明类

class

 

 

声明对象

object

 

 

 

 

c) 操作符

 

 

数学操作符

+ - * / %

比较操作符

<  <=  >  >=

逻辑操作符

&&   ||

对等操作符

==    !=

位操作符

& | ^ ~

 

形如 +=的操作符重载,会被认为是赋值操作符而具有最低优先级

m*=n +5 等价于 m*=(n+5)

和java一样