Scala是一个面向对象的函数式的编程语言,它独特的编程范式令人映像深刻
1.安装Scala
注意:
Scala与Java的关系是尤其紧密的,因为Scala是基于Java虚拟机,也就是JVM的一门编程语言。所有的Scala代码
都会编译为字节码,然后交由JVM来运行,这也是为什么Scala能无缝调用Java代码,如果你说:我不懂Java呀.....

总之:安装scala之前必须保证JDK安装完成
1)从scala官方网站下载Scala安装包
2)安装Scala并在PATH环境变量中配置$SCALA_HOME/bin目录
3)在cmd命令行中直接键入scala,打开scala命令行

2.声明变量
开始之前先带大家认识两个Scala中的朋友:val与var
· 声明val变量: 可以声明val变量来存放表达式的计算结果
例如: val res = 1+2+3
之后这个变量依然是可以使用的 例如 2 * res
但是由val声明的变量是无法改变值的 ,例如 res = 12 会返回error错误信息
· 声明var变量: 可以声明var变量,var声明的变量值可以改变
例如 var res =1,res =2
既然一个可以改变另一个不能改变,那我们都用var就好了?

然而事实是:在Scala程序中,我们通常推荐使用val,也就是不可改变值的写法(常量)。这样不但编译时能方便的优化字节码文件,而且在类似与spark这样的大型复杂系统中,不用担心大量的网络传输数据被错误的更改。这个做法在Java的大型复杂系统的设计和开发中也很常见。我们通常会将传递给其他组件/服务的对象,设计成不可变类(Immutable Class)。
· 指定类型:
无论是var还是val我们都可以手动得指定类型。既然说“可以手动”,那当然也可以不指定类型由Scala自动根据值,进行类型推断(数据类型在下面会看到)
例如:val name:String = null
var name:Any = "dongFangBuBai"
那什么时候需要手动指定,什么时候不需要呢?

如果你开心的话呢,尽管交给Scala自动推断吧,只是可能接手代码的哥们儿就很难受了。

· 声明多个变量:
可以将多个变量放在一起声明
例如:val name,age:String = null
3.数据类型与操作符
基本数据类型:Byte、Char、Short、Int、Long、Float、Double、Boolean。

猛的一看:这不是Java包装类吗?然鹅Scala并没有基本数据类型和包装类型的概念。统一的叫做类。作为一门成熟的编程语言,Scala已经学会了自己负责基本数据类型和应用类型的转换操作了。
以上的数据类型可以,直接就可以调用大量的函数了。例如 12.toString()
类的加强版类型

体会一下,大概就是图上那个样子
Scala使用了很多的加强类给数据类型增加了上百种增强功能或函数,而且通过隐式转换能直接调用
例如:RichInt的to函数,可以直接使用1.to(100),此处的Int先隐式转换为了RichInt,然后再调用to函数
基本操作符
Scala的算数操作符与Java并没有什么区别,比如:+、=、-、*、%、<<、>>、|
但本质上是不同的,再Scala中,这些操作符都是函数 ,例如 1 + 1 你以为是1 + 1,但他是 1 + (1)
对,这个“+”就是一个函数表达式,再比如刚刚看到过的12.to(100)其实也可以写作12 to 100

Scala中并没有++,--操作符,我们只能使用+= 或者 -=
学有所成,学无止境 ----------------------我是易工匠,一个不正经的软件从业者。