- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Scala基础语法
目录/Contents
01
Scala数据类型
02
Scala变量
03
方法与函数
Scala数据类型
Scala数据类型
Scala中没有基本数据类型的概念,所有的类型都是对象。Scala的数据类型和Java是类似的,所有Java的基本类型在scala包中都有对应的类,将Scala代码编译为Java字节码时,Scala编译器将尽可能使用Java的基本类型,从而提供基本类型的性能优势。
Scala数据类型
AnyVal:所有值类型的父类型。包含Byte、Short、Int、Long、Float、Double、Char、Boolean、Unit。其中Unit类型用来标识过程,也就是没有明确返回值的函数。由此可见,Unit类似于Java里的void。Unit只有一个实例,(),这个实例也没有实质的意义。
AnyRef:Scala里所有引用类(referenceclass)的基类。
与其他语言稍微有点不同的是,Scala还定义了底类型,分别是Nothing、Null。
Nothing:在Scala的类层级的最低端;它是任何其他类型的子类型,可以赋值给任何其他类型,用于异常,表明不正常的返回。
Null:所有引用类型的子类型,而Nothing是所有类型的子类型。Null类只有一个实例对象,null,类似于Java中的null引用。null可以赋值给任意引用类型,但是不能赋值给值类型。
Scala变量
Scala变量
Scala有两种变量,val和var。val类似于Java里的final变量。一旦初始化了,val就不能再被赋值。相反,var如同Java里面的非final变量,可以在它的生命周期中被多次赋值。即,常量或变量。
变量:在程序运行过程中其值可能发生改变的量叫做变量。如:时间,年龄。
常量:在程序运行过程中其值不会发生变化的量叫做常量。如:数值3,字符A。
Scala变量
在Scala中,声明变量使用关键词“var”,实例如下:
varmyVar:String=Foo
varmyVar:String=Too
在这里,myVar使用关键字var声明。这意味着它是一个可以改变值的变量,被称为可变变量。下面是使用val关键字来定义变量的语法:
valmyVal:String=Foo
这里,myVal是使用关键字val声明。这意味着,它是不能改变的变量,这是不可变变量。
1.变量声明
Scala变量
2.变量类型引用
在Scala中声明变量和常量不一定要指明数据类型,在没有指明数据类型的情况下,其数据类型是通过变量或常量的初始值推断出来的。
所以,如果在没有指明数据类型的情况下声明变量或常量必须要给出其初始值,否则将会报错。如下面的实例所示,myVar会被推断为Int类型,myVal会被推断为String类型。
varmyVar=10
valmyVal=Hello,Scala!
方法与函数
Scala有方法与函数,二者在语义上的区别很小。Scala中的方法跟Java的类似,方法是组成类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。Scala中使用val语句可以定义函数,def语句定义方法。
方法与函数
方法与函数
1.方法
Scala方法声明格式如下:
deffunctionName([参数列表]):[returntype]
如果你不写等于号和方法主体,那么方法会被隐式声明为抽象(abstract),包含它的类型于是也是一个抽象类型。
Scala方法定义格式如下:
deffunctionName([参数列表]):[returntype]={
functionbody
return[expr]
}
方法定义由一个def关键字开始,紧接着是可选的参数列表,一个冒号:和方法的返回类型,一个等于号=,最后是方法的主体。以上代码中returntype可以是任意合法的Scala数据类型。参数列表中的参数可以使用逗号分隔。如果方法没有返回值,可以返回为Unit,这个类似于Java的void。
2.函数
在Scala中,由于使用def语句定义以及调用函数的格式均与方法一样,因此,这里不做赘述。然而,Scala函数与Scala方法也是有区别的。具体如下:
(1) 函数可作为一个参数传入到方法中,而方法不行。
(2) 在Scala中无法直接操作方法,如果要操作方法,必须先将其转换成函数。
(3) 函数必须要有参数列表,而方法可以没有参数列表
valfunctionName([参数列表]):[returntype]
您可能关注的文档
- Spark大数据分析 课件 1.1 大数据简介与相关技术.pptx
- Spark大数据分析 课件 1.2 Spark简介.pptx
- Spark大数据分析 课件 1.3 其他数据处理框架.pptx
- Spark大数据分析 课件 2.1 集群环境准备.pptx
- Spark大数据分析 课件 2.2 Spark环境搭建.pptx
- Spark大数据分析 课件 2.3 Spark运行架构与原理.pptx
- Spark大数据分析 课件 2.4 Spark Shell.pptx
- Spark大数据分析 课件 3.1 Scala简介.pptx
- Spark大数据分析 课件 3.2 Scala环境准备.pptx
- Spark大数据分析 课件 3.4 Scala面向对象.pptx
文档评论(0)