Scala初识

一:Object、Trait、Class

二:scala类型

三:基本操作

一:Object、Trait、Class

Scala三个类:Object、Trait、Class 区别与联系

trait 是介于抽象类和接口中间,多继承;trait 里面可以有方法体,Java的接口就不能有;trait又和抽象类不一样,它可以多继承,并且是无参数构造器;所以是介于两者之间的,它的出现就是为了多继承,并且能写实体的方法的类。

class和object的区别与联系:class就是Java的class类,object就是Java的 static关键字;如果class名字和object的名字相同,那么class是object伴生类

object是class的伴生对象,两个可以相互访问对方的private变量和方法

e0b4442a5b58ee42573ab5bf95feca1a.jpeg

40aa8d7bac13a4f2e550be7a98bd50aa.jpeg

创建了一个ojbect 类,类似于Java的static 关键字

46df264319ce46d8c7dd6b3783608a0b.png

里面你可以写main方法 ,程序入口 ,也可继承APP默认执行里面代码

abbcc5603353c0c705be1b79e51c8c0b.png

声明了两个字段,var 声明的是变量,val声明的是常量

baac41ecbc88d28901048598112a6b71.png

常量就是不可更改例如

caf024da390b56cf439c02d112b5e4aa.png

二:scala类型

scala类型图:

019104adfb8020076b152c35a8329d42.jpeg

scala的超类是any,类似于 Java里面的 object,引用类型的空是null。各个空值讲解如下图:

33a205399a25179d58773f701500e97b.jpeg

基本类型讲解如图:

80c83f9895bbc0fda93acfb509ea5f80.jpeg

option操作类型:这个类型出现是为了防止引用类型出现空指针异常

例如:你通过下标去访问array超出数据界限时候Java会返回nullexception,scala会返回none。none是option一个值类似于boolean有两个值一样。

代码如下

val myMap: Map[String, String] = Map("key1" -> "value")

val value1: Option[String] = myMap.get("key1")

val value2: Option[String] = myMap.get("key2")

println(value1) // Some("value1")

println(value2) // None

408b8393962dbec6b210ed424d88a9da.jpeg

例如上图讲解map的访问和使用

一般我们申请的map都是不可变对象,还有list也是不可变对象,如果想用可变对象。如下图

838e9ac7a887d8f5163b49034d717e2d.jpeg

三:基本操作

1.scala的if else和java一样

6d668458a43bbb8ea0ba8b48234d4339.png

2.Java switch在scala中是match如图:

9b842649c062010b2ac03e352502f29b.jpeg

3.类里面方法里面声明变量,一定要加修饰符var ,val;不加会报错:

6d3f42497d38f102a6e551b040e7a045.png

b5ab4ca42dc11c1fe2fdee2983c861f3.png

4.scala里面的循环和Java的一样,如图

4eae09cb0441d49876a81d3e6d6ce8f1.png

for循环里面有点区别,for条件后面可以跟一个yield返回循环出来的结果值

37ed6f7331feaf6cdcd3d93614fa9159.png

 for(i <- 0 to 100 if (i % 2) == 1 ) 这里面的if是卫句起到过滤作用

更多关于hadoop,spark和机器学习文章请关注本文公众号:

8efe72e058dd24bb578e211d00395f5c.jpeg

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值