![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
编程语言_02_Scala
Scala
最佳第六六六人
一只威武的大数据架构攻城狮
展开
-
大数据8_11_Scala泛型&正则表达式&分布式原理
14 泛型泛型目的是为例增加类型的约束,提高程序的健壮性。泛型和类型的关系泛型和类型没有直接关系,但是类型标识对外部类型的数据约束。泛型主要用于对内部数据类型的约束。14.1 泛型不可变object ScalaGeneric { def main(args: Array[String]): Unit = { val test1 : Test[User] = new Test[User] // OK val test2 : Test[User]原创 2020-11-20 20:51:58 · 122 阅读 · 0 评论 -
大数据8_10_Scala异常&隐式转换
12 异常Scala中的异常不区分所谓的编译时异常和运行时异常也无需显示抛出方法异常,所以Scala中没有throws关键字。scala中异常的处理方式类似于模式匹配,如果异常类型没有匹配成功,也不会发生MatchError,只是将异常直接报给了JVM12.1 java中的异常:try { int a = 10; int b = 0; int c = a / b;} catch (ArithmeticException e){ // catch时,需要将范原创 2020-11-20 20:51:08 · 101 阅读 · 0 评论 -
大数据8_09_Scala模式匹配
11 模式匹配11.1 基本语法Scala中的模式匹配类似于Java中的switch - case 语句。可以按照指定的规则对数据进行匹配。模式匹配主要用于规则匹配,模式匹配语法中没有break操作,执行完毕后,直接退出。模式匹配中的_下划线表示任意值,类似于java中的default操作但是不同的是java中的default操作,不管放在前面还是后面,都是最后执行。但是scala中的case _ 放在前面,后面的就执行不到了。模式匹配主要目的是将数据匹配上,必须匹配上,如原创 2020-11-20 20:49:55 · 102 阅读 · 0 评论 -
大数据8_08_Scala集合&常用方法
9 集合Scala的集合有三大类:序列Seq、集Set、映射Map,所有集合都扩展自Iterable特质。对于所有的集合类,Scala都同时提供了可变和不可变的版本。可变集合和不可变集合使用包名区分:scala.collection.immutable scala.collection.mutable可变不可变数组ArrayArrayBuffer序列(List)Seq、ListListBuffer集合Setmutable.Set映射Mapmut原创 2020-11-20 20:48:55 · 178 阅读 · 0 评论 -
大数据8_07_Scala面向对象编程
8 面向对象编程8.1 scala面向对象概念scala面向对象的基本用法和java没有区别object TestOOP{ def main(args: Array[String]): Unit = { /* * Java中 * package xxxxx * import java.util.List //导类 * import java.util.* //导入util包内需要的类,并不是一次性全部导入,是用到哪个类就导入哪个类(编译原创 2020-11-18 08:32:19 · 273 阅读 · 1 评论 -
大数据8_06_Scala函数式编程
7 函数式编程main()方法的返回值类型Unit也可以省略,但前提是自动推断的类型一定要是Unit,不然main方法没有入口object TestClosePackage2 { def main(args: Array[String]): Unit = { val name = "zhangSan" def test() = { println(name) } val f = test _ //返回函数的这个对象,调用的时候使用f() va原创 2020-11-18 08:31:37 · 238 阅读 · 0 评论 -
大数据8_04_Scala运算符
5 运算符5.1 == equal() eq()object Test { def main(args: Array[String]): Unit = { var a1 = "abc" var a2 = "abc" println(a1 == a2) // true val a3 = new String("abc") val a4 = new String("abc") println(a3 == a4) // true printl原创 2020-11-17 23:20:52 · 113 阅读 · 0 评论 -
大数据8_03_Scala数据类型
4 数据类型4.1 Java的数据类型基本数据类型:byte、short、int、long、float、double、char、boolean引用数据类型:数组、字符串String、包装类、集合、Object4.2 Scala数据类型Scala是完全面向对象的语言,所以不存在基本数据类型的概念,有的只是任意值对象类型(AnyVal)和任意引用对象类型(AnyRef)4.3 数据类型转换自动化类型转换(隐式转换)object TestTranslate { def main(args:原创 2020-11-17 23:20:11 · 97 阅读 · 0 评论 -
大数据8_05_Scala流程控制
6 流程控制6.1 分支控制scala中的表达式都是有返回值的。返回值为满足条件的最后一行的代码的执行结果。Scala是基于Java语言开发的,所以是强类型语言。表达式的返回值object TestIf_Else { def main(args: Array[String]): Unit = { val season = "spring" //将if-elseif-else的结果赋值给变量result val result = if (season == "spr原创 2020-11-17 23:21:31 · 188 阅读 · 0 评论 -
大数据8_02_Scala变量-字符串-输入输出
3 变量-字符串-输入输出3.1 注释Scala中的注释和Java中的注释一样。//单行注释/*多行注释*//**文档注释*/单行注释的区别:3.2 变量①变量声明语法:var | val 变量名 : 变量类型 = 变量值var可变变量 val不可变变量②如果变量的类型可以通过变量值推断出来,那么可以省略变量类型:object Variable { def main(args : Array[String]) : Unit = { //声明变量的语法:var原创 2020-11-17 23:19:06 · 364 阅读 · 0 评论 -
大数据8_01_Scala概述-Scala安装配置
1 Scala概述1.1 什么是Scala?Scalable Language,可伸缩的软件编程语言;作者:Martin Odersky为什么是可伸缩的呢?Scala体现面向对象,函数编程等多种不同的语言范式,且融合不同语言新的特性1.2 为什么要学Scala?大数据主要的批处理计算引擎框架Spark是基于Scala语言开发的。大数据主要的流式计算框架Flink提供了Scala相应的API大数据领域中函数式编程的开发效率更高,更高效,更易理解1.3 Java和Scala关系JDK原创 2020-11-17 23:17:58 · 134 阅读 · 0 评论