Scala
学习·笔记
一个专属于自己的隐秘地方,在那里我们可以远离压力与忧虑,可以放松自我
展开
-
Scala语法(iterator迭代器)
iterator迭代器scala针对每一类集合都提供了一个迭代器(iterator)用来迭代访问集合使用迭代器遍历集合使用iterator方法可以从集合获取一个迭代器迭代器的两个基本操作hasNext——查询容器中是否有下一个元素 next——返回迭代器的下一个元素,如果没有,抛出NoSuchElementException每一个迭代器都是有状态的迭代完后保留在最后一个元素...原创 2020-04-08 10:06:05 · 6184 阅读 · 0 评论 -
Scala语法(元组-列表_Set_Map映射)
元组元组可以用来包含一组不同类型的值。例如:姓名,年龄,性别,出生年月。元组的元素是不可变的。定义元组使用括号来定义元组val/var 元组 = (元素1, 元素2, 元素3....)使用箭头来定义元组(元组只有两个元素)val/var 元组 = 元素1->元素2参考代码:scala> val a = ("zhangsan", 20)a: (String, Int...原创 2020-04-08 10:02:03 · 5300 阅读 · 0 评论 -
Scala语法(数组)
数组scala中,有两种数组,一种是定长数组,另一种是变长数组定长数组定长数组指的是数组的长度是不允许改变的数组的元素是可以改变的语法:// 通过指定长度定义数组val/var 变量名 = new Array[元素类型](数组长度)// 用元素直接初始化数组val/var 变量名 = Array(元素1, 元素2, 元素3...)在scala中,数组的泛型使用[]来指...原创 2020-04-08 09:46:26 · 5328 阅读 · 0 评论 -
Scala语法(函数)
函数scala支持函数式编程,将来编写Spark/Flink程序中,会大量使用到函数定义函数语法:val 函数变量名 = (参数名:参数类型, 参数名:参数类型....) => 函数体函数是一个对象(变量)类似于方法,函数也有输入参数和返回值函数定义不需要使用def定义无需指定返回值类型参考代码:scala> val add = (x:Int, y:Int) ...原创 2020-04-08 09:41:16 · 5276 阅读 · 0 评论 -
Scala语法(方法)
方法一个类可以有自己的方法,scala中的方法和Java方法类似。但scala与Java定义方法的语法是不一样的。定义方法语法:def methodName (参数名:参数类型, 参数名:参数类型) : [return type] = { // 方法体:一系列的代码}参数列表的参数类型不能省略返回值类型可以省略,由scala编译器自动推断返回值可以不写return,默认就是{...原创 2020-04-08 09:38:51 · 5210 阅读 · 0 评论 -
Scala语法(break和continue)
break和continuescala中,没有break/continue关键字如果一定要使用break/continue,就需要使用scala.util.control包的Break类的breable和break方法。实现break用法导入Breaks包import scala.util.control.Breaks._使用breakable将for表达式包起来for表达式中...原创 2020-04-08 09:32:04 · 5194 阅读 · 0 评论 -
Scala语法(scala条件表达式__for循环__while循环)
条件表达式条件表达式就是if表达式。scala条件表达式的语法和Java一样。有返回值的if参考代码:scala> val sex = "male"sex: String = malescala> val result = if(sex == "male") 1 else 0result: Int = 1与Java不一样的是在scala中,条件表达式也是有返回...原创 2020-04-08 09:28:39 · 5324 阅读 · 0 评论 -
Scala语法(scala类型层次结构)
层次结构图类型说明:类型说明Any所有类型的父类,,它有两个子类AnyRef与AnyValAnyVal所有数值类型的父类AnyRef所有对象类型(引用类型)的父类Unit表示空,Unit是AnyVal的子类。它类似于Java中的void,但scala要比Java更加面向对象NullNull是AnyRef的子类,也就是说它是所有引用类型的子...原创 2020-04-08 09:23:45 · 5273 阅读 · 0 评论 -
Scala语法(数据类型与操作符)
数据类型与操作符scala中的类型以及操作符绝大多数和Java一样数据类型基础类型类型说明Byte8位带符号整数Short16位带符号整数Int32位带符号整数Long64位带符号整数Char16位无符号Unicode字符StringChar类型的序列(字符串)Float32位单精度浮点数Double64位双精度浮...原创 2020-04-08 09:19:25 · 5147 阅读 · 0 评论 -
Scala语法(字符串)
字符串scala提供多种定义字符串的方式,将来我们可以根据需要来选择最方便的定义方式。使用双引号使用插值表达式使用三引号使用双引号语法:val/var 变量名 = “字符串”参考代码:val name="hadoop6"scala> println(name + name.length)hadoop6使用插值表达式插值表达式可以有效避免大量字符串的拼接。语...原创 2020-04-08 09:10:40 · 5218 阅读 · 0 评论 -
Scala语法(声明变量)
语法格式Java变量定义int a = 0;在scala中,可以使用val或者var来定义变量,语法格式如下:val/var 变量标识:变量类型 = 初始值其中:val定义的是不可重新赋值的变量var定义的是可重新赋值的变量scala中定义变量类型写在变量名后面scala的语句最后不需要添加分号定义一个变量示例:定义一个变量保存一个人的名字"tom"参考代码sca...原创 2020-04-08 09:07:36 · 5367 阅读 · 0 评论 -
Scala解析器的安装部署
安装JDK安装JDK 1.8 64位版本,并配置好环境变量安装scala SDKscala SDK是scala语言的编译器,要开发scala程序,必须要先安装SDK本次安装的版本是: 2.11.12下载:百度网盘链接:https://pan.baidu.com/s/1LHYdBmGLj-kP3xTKPgaNQA 提取码:ewg5安装IDEA scala插件IDEA默认是不...原创 2020-03-31 21:24:18 · 5009 阅读 · 0 评论 -
Scala的Map方法
1 def ++(xs: Map[(A, B)]): Map[A, B]返回一个新的 Map,新的 Map xs 组成2 def -(elem1: A, elem2: A, elems: A*): Map[A, B]返回一个新的 Map, 移除 key 为 elem1, elem2 或其他 elems。3 def --(xs: GTO[A]): Map[A, B]返回一个新的 Map, ...原创 2020-03-17 08:59:37 · 4796 阅读 · 0 评论 -
Scala的Set方法
1 def +(elem: A): Set[A]为集合添加新元素,x并创建一个新的集合,除非元素已存在2 def -(elem: A): Set[A]移除集合中的元素,并创建一个新的集合3 def contains(elem: A): Boolean如果元素在集合中存在,返回 true,否则返回 false。4 def &(that: Set[A]): Set[A]返回两个集...原创 2020-03-17 08:55:43 · 4523 阅读 · 0 评论 -
Scala的Array方法
1 def apply( x: T, xs: T* ): Array[T]创建指定对象 T 的数组, T 的值可以是 Unit, Double, Float, Long, Int, Char, Short, Byte, Boolean。2 def concat[T]( xss: Array[T]* ): Array[T]合并数组3 def copy( src: AnyRef, srcPos...原创 2020-03-17 08:52:03 · 4586 阅读 · 0 评论 -
Scala的List方法
1 def +(elem: A): List[A]前置一个元素列表2 def ::(x: A): List[A]在这个列表的开头添加的元素。3 def :::(prefix: List[A]): List[A]增加了一个给定列表中该列表前面的元素。4 def ::(x: A): List[A]增加了一个元素x在列表的开头5 def addString(b: StringBuil...原创 2020-03-17 08:49:34 · 4511 阅读 · 0 评论