
Scala
Fenggms
好好学习,天天向上。
展开
-
Scala安装、IDEA插件安装及IDEA创建Scala项目
文章目录1、什么是Scala?2、Scala的优点3、Scala编译器安装安装JDK3.1 Windows安装Scala编译器3.2 Linux安装Scala编译器3.3 Scala开发工具安装3.3.1 IDEA中安装Scala插件3.3.2 在线安装Scala插件3.3.3 也可以使用离线安装Scala插件:3.4 IDEA中Scala的配置3.5 IDEA新建Scala项目3.5.1 使用...原创 2018-09-20 11:05:14 · 1235 阅读 · 1 评论 -
Scala05——Scala元组
元组1、创建元组2、获取元组中的值3、元组遍历4、将对偶的集合转换成映射5、拉链操作6、交换元素Scala元组将固定数量的项目组合在一起,以便它们可以作为一个整体传递。 与数组或列表不同,元组可以容纳不同类型的对象,但它们也是不可变的。1、创建元组元组表示通过将不同的值用小括号括起来,即表示元组。元组的创建格式:val tuple=(元素,元素...)也可以写成:(但一般不这么写,都...原创 2018-09-23 00:20:41 · 3509 阅读 · 0 评论 -
Scala04——Scala映射
映射1、构建映射2、获取和修改映射中的值在Scala中,把哈希表这种数据结构叫做映射。1、构建映射构建映射格式:1、val map=Map(键 -> 值,键 -> 值…)2、利用元组构建 val map=Map((键,值),(键,值),(键,值)…)2、获取和修改映射中的值(1)获取映射中的值:值=map(键) score("a")getOrElsescor...原创 2018-09-22 22:52:48 · 334 阅读 · 0 评论 -
Scala03--Scala数组
数组定长数组和变长数组遍历数组1.增强for循环until会生成下标遍历数组转换数组常用方法定长数组和变长数组(1)定长数组定义格式: val arr=new Array[T](数组长度)val arr=Array(1,2,3,4,5) (2)变长数组定义格式:val arr = ArrayBufferT变长数组需要导包:需要导包:import scala.collection.m...原创 2018-09-22 22:35:48 · 423 阅读 · 0 评论 -
Scala基础02-Scala方法和函数及其区别
Scala方法和函数Scala运算符及函数和方法的调用定义方法和函数1 定义方法2 定义函数3 方法和函数的区别4 方法转换成函数Scala运算符及函数和方法的调用Scala中的+ - * / %等运算操作符的作用与Java一样,位操作符 & | ^ >> <<也一样。由于和java使用基本相同,这里不再赘述。可参考:https://www.yiibai.c...原创 2018-09-22 21:52:38 · 1029 阅读 · 0 评论 -
scala13——Scala隐式转换和隐式参数
隐式转换和隐式参数1、隐式转换2、 隐式参数3、隐式转换方法作用域4、隐式转换的时机5、相关案例5.1 让File类具备RichFile类中的read方法5.2 AutoMan打怪兽5.3 员工领取薪水Scala提供的隐式转换和隐式参数功能,是非常有特色的功能。是Java等编程语言所没有的功能。它可以允许你手动指定,将某种类型的对象转换成其他类型的对象或者是给一个类增加方法。通过这些功能,可以实...原创 2018-09-27 19:13:15 · 391 阅读 · 0 评论 -
Scala12——Scala高阶函数
高阶函数1、作为值的函数2、匿名函数3、柯里化4、闭包Scala混合了面向对象和函数式的特性,我们通常将可以作为参数传递到方法中的表达式叫做函数。在函数式编程语言中,函数是“头等公民”,高阶函数包含:作为值的函数、匿名函数、闭包、柯里化等等。1、作为值的函数可以像任何其他数据类型一样被传递和操作的函数。定义函数时格式:val 变量名 = (输入参数类型和个数) => 函数实现和返回值...原创 2018-09-27 18:50:15 · 263 阅读 · 0 评论 -
Scala基础-01
Scala基础1、声明变量valvar2、常用类型3、条件表达式4、块表达式5、循环for循环嵌套while1、声明变量Scala有两种声明变量的方式,val和varval使用val定义的变量值是不可变的,相当于java里面final关键字修饰。val x=3var用var定义的变量是可变的,但在Scala中建议可以使用val的时候尽量用val,便于GC回收。var y=3.14...原创 2018-09-22 21:06:57 · 195 阅读 · 0 评论 -
Scala11——协变、逆变、非变以及上下界
协变、逆变、非变以及上下界协变、逆变、非变介绍上界、下界介绍协变、逆变、非变介绍协变和逆变主要是用来解决参数化类型的泛化问题。Scala的协变与逆变是非常有特色的,完全解决了Java中泛型的一大缺憾;举例来说,Java中,如果有 A是 B的子类,但 Card[A] 却不是 Card[B] 的子类;而 Scala 中,只要灵活使用协变与逆变,就可以解决此类 Java 泛型问题;由于参数化类型的...原创 2018-09-27 16:39:00 · 316 阅读 · 0 评论 -
Scala10——Scala模式匹配
模式匹配1、匹配值2、匹配不同数据类型3、直接匹配类型4、匹配数组、元组、集合5、样例类6、Option7、偏函数Scala是没有Java中的switch case语法的,相对应的,Scala提供了更加强大的match case语法,即模式匹配。模式匹配包括一系列备选项,每个替代项以关键字大小写为单位。每个替代方案包括一个模式和一个或多个表达式,如果模式匹配,将会进行评估计算。箭头符号=>...原创 2018-09-27 15:59:08 · 286 阅读 · 0 评论 -
Scala09——Scala面向对象编程之特质trait
特质:trait1、将trait作为接口使用2、trait中定义具体的方法和field3、trait中定义抽象的方法和field4、在实例对象中指定混入某个trait5、trait 调用链6、混合使用 trait 的具体方法和抽象方法7、trait的构造机制8、trait 继承 class9、一些已定义好的trait1、将trait作为接口使用在 Scala中Trait 为重用代码的一个基本单...原创 2018-09-27 13:08:41 · 384 阅读 · 0 评论 -
scala08——Scala面向对象之继承
继承Scala中继承的概念isInstanceOf 和 asInstanceOfgetClass 和 classOf使用模式匹配进行类型判断抽象类扩展类override 和 super 关键字调用父类的constructorfinalScala 的类层次关系Scala中继承的概念Scala 中,让子类继承父类,与 Java 一样,也是使用 extends 关键字;继承就代表,子类可继承父类的...原创 2018-09-26 01:01:06 · 347 阅读 · 0 评论 -
Scala07——类和对象简介
类和对象简介类类的定义构造器对象object伴生对象apply方法main方法类类的定义类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。在scala中,类不需要声明为public类型,一个Scala源文件中可以有多个类。定义一个类后,可以使用关键字new来创建一个类的对象。 通过对象可以使用定义的类的所有功能。构造器Scala中的每个类都有...原创 2018-09-26 00:08:20 · 196 阅读 · 0 评论 -
Scala06——Scala集合
集合1、List不可变的序列 import scala.collection.immutable._可变的序列 import scala.collection.mutable._2、Set不可变的Set import scala.collection.immutable._可变的Set import scala.collection.mutable._3、Map不可变的Map impo...原创 2018-09-23 00:54:32 · 239 阅读 · 0 评论