Scala快速入门_DT大数据梦工厂第一课

6 篇文章 0 订阅

Scala基于jvm,Scala可以调用java的任何功能
即可调用Hadoop任何功能,java支持面向对象(并不是纯对象,一切对象皆有方法,基本类型无方法)Scala是纯面向对象(一切皆对象,java升级版),面向对象和函数式编程结合,Scala的代码量是java的1/5
大数据开发语言,Scala简洁优雅,

Kafka消息中间件,适配器,数据到spark,spark数据到 ->hbase,sql需要Kafka,

1.安装vmvare
2.安装scala 2.10.4
3.java 1.8

不可变变量之前加 val :val result =2+10
不可变变量的值是不可变的,分布式交付,传输、校验数据,val(推荐使用)虚拟机,网络之间的交付,使用var,数据可能会变化,模块间通信,(Java 定义成final类型)
可变变量:var

val name :Int=0指定变量类型,赋值时,只能赋值该类型或该类型的子类型(面向接口)

val age1,age2,age3=0 同时申明多个变量

scala可以完成基础类型和引用类型的自动转化
0.to(5)->Range(0,1,2,3,4,5)集合,
Scala没有++,–操作

导入库(scala库,并可使用java所有库)
import scala.math._
min(20,4)

apply object构造scala具体对象的实例工厂方法
val array=Array.apply(1,2,3,4)

val age=19
if(age>=18)”adult” else “child”

最后一行的值就是代码块的值
val result=if(age>=18)
{
|“adult”
|buffered=10
|buffered
}
输出result:AnyVal=10

打印输出
println(”spark”)
print(“\nspark”)
printf(“%s is the future of big data computation framework.\n”,”spark”)

读取readLine
readLine
readLine(“please enter your password:”)
readInt

函数体
这里写图片描述

0 to element
这里写图片描述

加判断语句
这里写图片描述

调break包
这里写图片描述

Any有return i 整数,print string
这里写图片描述

默认值先加载
这里写图片描述

参数顺序可以改变
这里写图片描述

传任意参数
Range和整数不一样的,所以报错
递归循环取出来 : _*
这里写图片描述

过程(没有返回值)Unit:
这里写图片描述

文件不存在,lazy不报错
去掉会报错
这里写图片描述

Array不可变
这里写图片描述

ArrayBuffer可变
这里写图片描述

遍历数组
这里写图片描述
这里写图片描述

数组操作
这里写图片描述

Map操作
遍历集合
SortMap以key排序
这里写图片描述

tuple,从1开始,接受函数多个参数
这里写图片描述

作业一:移除一个数组第一个负数后的所有负数

  val array=ArrayBuffer[Int]()
array+=(8,3,4,57,-3,-3,-9,9)
var firstNegative=false
val indexes = for(index <- 0 until array.length if !firstNegative || array(index) >= 0)yield
{
if(array(index)<0)firstNegative=true
index
}
for(index<- 0 until indexes.length){array(index)=array(indexes(index))}
array.trimEnd(array.length-indexes.length)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值