Scala初识

Posted 大数据DL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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变量和方法

Scala初识

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

Scala初识

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

Scala初识

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

Scala初识

常量就是不可更改例如

Scala初识

二:scala类型

scala类型图:

Scala初识


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

Scala初识

基本类型讲解如图:

Scala初识

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

Scala初识

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

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

Scala初识

三:基本操作

1.scala的if else和java一样

Scala初识

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

Scala初识

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

Scala初识

Scala初识

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

Scala初识

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

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





以上是关于Scala初识的主要内容,如果未能解决你的问题,请参考以下文章

初识Scala

Scala初识

Spark 初识

初识Scala

Scala学习之路 Spark初识

flink_初识01