1、scala与java
2、安装
3、scala编译器
4、变量声明
5、数据类型
6、操作符
7、函数调用
8、apply函数
1、scala与java
scala基于java虚拟机,所有scala代码,都经过编译编译为字节码,然后交由java虚拟机运行,所以scala与java是无缝互操作的。
2、安装
从scala官方网站下载,地址:http://www.scala-lang.org/download/。windows版本安装包为scala-x.xx.x.msi。
安装安装包,配置环境变量SCALA_HOME为你的安装地址,往PATH中加入%SCALA_HOMEin。
打开windows命令行,键入scala -version 查看scala版本,键入scala进入scala命令行,进行scala编程。
3、scala编译器
REPL:Read(取值)=》Evaluation(求值)=》Print(打印)=》Loop(循环)。scala解释器也被称为REPL,会编译scala代码为字节码交由jvm执行。
计算表达式:在scala命令行内,键入scala代码,解释器会直接返回结果。如果未指定变量存放返回的结果,默认名称为res,显示出结果数据类型和该值,如上图1+1。
内置变量:后面可以继续使用该变量,以及它的值。如上图:2*res0
自动补全:在scala命令行中,可以是用tab键进行自动补全。如上图:res1.to 按tab键,下面出现选项。
4、变量声明
声明val变量:可声明val变量存放表达式的计算结果,后续变量可以继续使用,但该变量的值无法更改。
声明var变量:如果要声明可以改变变量的值,使用var变量,但建议使用val,因为在spark的大型复杂系统中,需要大量网络传输数据,使用var,值存在被错误更改的可能。(类似java不可变类和final常量)
指定类型:声明变量,可以手动指定其类型,不指定类型的话,scala会根据值,自动推断类型。
声明多个变量:可将多个变量放在一起声明。
5、数据类型
基本数据类型:Byte、Char、Short、Int、Long、Float、Double、Boolean。scala没有基本数据类型和包装类型的概念,统一是类。scala自己负责基本数据类型和引用类型的转换。使用基本数据类型,直接就可以进行大量函数的调用,比如:1.toString(),1.to(10)。
类型的加强版类型:scala使用很多加强类给数据类型增加了上百种增强的功能和函数。
6、操作符
scala操作运算符:+、-、*、/、%等,以及&、|、>>、<<等。在scala中,这些操作符其实是数据类型的函数,如:1+1,可以写做1+(1),1.to(10),写作1 to 10。scala没有提供++、--操作符,我们只能使用+和-。
7、函数调用
在scala中,函数调用很简单,如:import scala.math._,sqrt(2),pow(2,4),min(3,Pi)。不同点是如果函数不需要传递参数,scala允许缺省括号。
8、apply函数
scala中apply函数是非常特殊的的一种函数,在scala对象中,可声明apply函数。而使用“类名()”的形式,其实就是“类名.apply()”的一种缩写。通常使用这种方式构建类对象,不是使用 “new 类名()”的形式。如:"hello lilei"(3),实际上是"hello lilei".apply(3)的缩写。