版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Scala基础语法目录/Contents01
Scala数据类型02Scala变量03方法与函数Scala数据类型01Scala数据类型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变量02Scala变量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=10valmyVal="Hello,Scala!"
方法与函数03Scala有方法与函数,二者在语义上的区别很小。Scala中的方法跟Java的类似,方法是组成类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。Scala中使用val语句可以定义函数,def语句定义方法。方法与函数方法与函数1.方法Scala方法声明格式如下:deffunctionName([参数列表]):[returntype]如果你不写等于号和方法主体,那么方法会被隐式声明为抽象(abstract),包含它的类型于是也是一个抽象类型。Scala方法定义格式如下:deffunctionName([参数列表]):[returntype]={functionbodyreturn[expr]}方法定义由一个def关键字开始,紧接着是可选的参数列表,一个冒号:和方法的返回类型,一个等于号=,最后是方法的主体。以上代码中returntype可以是任意合法的Scala数据类型。参数列表中的参数可以使用逗号分隔。如果方法没有返回值,可以返回为Unit,这个类似于Java的void。2.函数在Scala中,由于使用def语句定义以及调用函数的格式均与方法一样,因此,这里不做赘述。然而,Scala函数与Scala方法也是有区别的。具体如下:(1) 函数可作为一个参数传入到方法中,而方法不行。(2) 在Scala中无法直接操作方法,如果要操作方法,必须先将其转换成函数。(3) 函数必须要有参数列表,而方法可以没有参数列表valfunctionName([参数列表]):[returntype]={functionbodyreturn[expr]}方法与函数方法与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版企业研发项目定金及借款合同3篇
- 二零二五版水上娱乐设施安全生产管理合同3篇
- 二零二五年度茶园承包经营与茶叶市场调研合同3篇
- 展会现场广告投放与媒体合作合同(二零二五年度)2篇
- 二零二五版国际贸易保险合同主体欺诈识别与应对措施合同3篇
- 右岸景苑S5幢0、30号商铺2025年度租赁合同24篇
- 二零二五年度预制构件钢筋加工定制合同3篇
- 展会品牌推广合同(2篇)
- 二零二五年度第五章国际货物买卖合同法法律适用与解释3篇
- 二零二五版党政机关会议现场布置及道具制作合同3篇
- 2023年保安公司副总经理年终总结 保安公司分公司经理年终总结(5篇)
- 中国华能集团公司风力发电场运行导则(马晋辉20231.1.13)
- 中考语文非连续性文本阅读10篇专项练习及答案
- 2022-2023学年度六年级数学(上册)寒假作业【每日一练】
- 法人不承担责任协议书(3篇)
- 电工工具报价单
- 反歧视程序文件
- 油气藏类型、典型的相图特征和识别实例
- 流体静力学课件
- 顾客忠诚度论文
- 实验室安全检查自查表
评论
0/150
提交评论