- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?
?
Scala程序设计
基础篇 学习笔记
?
?
目录
?
前言:
1,环境准备:
2,repl(read evaluation print loop)互动式
3,reference transparency(引用透明)与纯函数
4,变量:
变量类型体系:
隐式类型转换
nothing 函数运行异常时返回nothing
函数
前言:
为了学习spark,先熟悉下scala基础语法.课程链接慕课网,这里是课程学习笔记
1,环境准备:
jdk1.8
scala 2.1:/download/
下载zip包,解压缩后配置环境变量
idea安装scala插件:
下载完成后,新建scala项目
file-new project
?
next-
点击create,选择下载的scala压缩包解压缩位置,finish,
再src下new scala class
右键运行
2,repl(read evaluation print loop)互动式
console方式:
idea方式:
new worksheet
?
3,reference transparency(引用透明)与纯函数
引用透明:对于程序p,如果它包含的表达式e满足引用透明,所有e都可以替换为它的运算结果而不会改变程序p的含义(要求函数不论进行任何操作都可以用它的返回值来代替)。
引用透明与纯函数的关联:假如存在一个函数f,若表达式f(x)对所有引用透明的表达式x也是引用透明,那么这个f是一个纯函数(也就是说,传入引用透明的x表达式给f,函数f(x)的返回值可以代替这个函数在其他程序起的作用)
(引用/zhixiangshu/phtml)
4,变量:
val 值不可变
var 值可变
lazy val 第一次引用时计算值
显示指定变量类型
lazy val
变量类型体系:
any是所有类的父类,
null是所有引用类型的最后一个子类,nothing是所有类型的最后一个子类
数值类型:
隐式类型转换
布尔类型
字符和字符串和java相同
unit类型,字面值为(),作为函数的返回值,相当于void,往往表示函数具有副作用(因为没有返回值)
null同java的null
nothing
函数运行异常时返回nothing
字符串插值
函数
代码块(block) 的返回值为最后一个表达式的值
函数定义格式:def? functionName(param1:type,param2:type2):returnType={}
def hello(name: String): String = {
shello,${name}
}
hello(hujiawei)
注意事项:
1函数定义支持柯里化(参数形式不同):
def functionName(param1:type)(param2:type2):returnType={}
def add2(x:Int)(y:Int):Int=x+y
add2(2)(4)
2,不需要return,代码块的返回值就是函数的返回值
3,返回值类型可以省略,只有一个表达式,{}可以省略,同java
def add2(x:Int)(y:Double)=x+y
add2(2)(4) 返回6.0
4,匿名函数
/todo
if表达式
?
?
-全文完-
文档评论(0)