在线计算之Scala初识

*1.为什么要学习scala?

**
(1)spark底层是用scala来 ,要想学好spark 我们就必须会scala这门语言
(2)scala语言基于java 开发效率高,运行速度快
离线计算 -->
在线计算 -->spark底层是用scala来 ,要想学好spark 我们就必须会scala这门语言
*

*2.scala 语言的介绍

**
scala 是一门多范式的编程语言,及时面向对象也是函数式编程
面向对象:万物皆对象 封装 实例对象 类 继承
函数式编程: 面向过程 函数当成编程

什么是多范式?
多范式 :多种形式编程 常见的有过程式 函数式,泛型编程
面向对象 :把数据和数据的操作方法放在一起,作为一个相互依存的整体
函数式编程:把函数可以当成变量使用
函数式scala的一等公民
一等公民的特权:
1.函数可以传递和赋值
2.scala中可有嵌套函数和匿名函数
3.scala中支持高阶函数
4.scala还支持偏函数
5.scala支持闭包

3.scala语言和Java语言对比

	相同点:
		1.java和scala可以无缝混编,它们都是基于jvm
		2.二者可以相互调用
	不同点:
		1.类型自动推断,并如果写类型化,是写在变量名的后面
		2.val var
		3.支持函数式编程
		4.构造器不一样
		5.java中可以自动默认值,scala中必须手动给默认值
		6.scala 不需要分号,但是java 必须要有
		7.get set 方法自己实现
			age:相当于java中的getter方法
			age_$eq:相当于java中set方法
		8.java中的放回只用return scala 中没有return

**

4.编译工具的安装

**
1)jdk
2)idea
3)插件安装(离线和在线都可以)
scala-intellij-bin-2017.2.2.zip (一个插件就搞定了)
4)创建一个scala项目测试一下
5)字体背景稍微调整一下

**

5.main方法讲解

**
main(static=object)
1)语法
关键字 方法名 (参数):放回只类型={
}
def main(args: Array[String]): Unit = {

}

/*

  • def 定义方法
  • main 方法名字
  • args 参数的名字
  • Array[String] 参数类型 ,字符串数组
  • Unit 没有返回值,相当于java中的void
    */

object HelloWorld {

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值