
Scala 基础内容
文章平均质量分 58
scala 基础
゛依然
知足 上进 不负野心
展开
-
Scala 泛型
Scala 泛型1、泛型类和泛型函数2、泛型界定~泛型上限~泛型下限1、泛型类和泛型函数泛型类:定义类的时候,定义泛型,这个泛型就可以在类的任何地方使用泛型函数:定义函数的时候定义泛型,这个泛型只能在函数的内部使用object Generic1 { def main(args: Array[String]): Unit = { val p1 = new Point[Int](10,20) val x = p1.x val p2 = new Point[Double]原创 2021-05-16 15:29:06 · 298 阅读 · 0 评论 -
Scala 中异常的处理
Scala 中异常的处理1、java2、scala3、 如何处理异常:1、java运行时异常,可以不用提前处理,将来运行时候可能抛异常受检异常(checked) 在编译阶段,异常必须被处理,try、抛出异常类型 throws 异常类2、scala不强制要求必须处理异常3、 如何处理异常:1.抛出异常 (throws)2.try3.抛出异常对象 (throw new )object ExceptionDemo1 { def main(args: Array[String])原创 2021-05-16 14:55:21 · 266 阅读 · 0 评论 -
Scala 偏函数
Scala 偏函数偏函数使用的地方很多,但是大部分情况都是把他当成一个普通函数来使用object Pattern2 { def main(args: Array[String]): Unit = { val list = List(10,20,1,"aa",false) val f = new PartialFunction[Any,Int] { //只对返回值是true的那些元素处理,是false的跳过 override def isDefinedAt原创 2021-05-16 14:33:23 · 317 阅读 · 0 评论 -
Scala 模式匹配
Scala 模式匹配1、基本使用2、匹配变量3、模式匹配的值4、守卫和匹配类型5、匹配数组6、元组匹配7、List匹配8、Option的使用9、模式匹配中的对象匹配10、匹配序列一级目录1、基本使用函数编程语言的标配有点类似 java 的 switch要匹配的值 match{ case 选项 => 代码 &nb原创 2021-05-16 01:05:13 · 219 阅读 · 0 评论 -
Scala sort排序
Scala 排序1、sorted2、sortBy3、sortWithjava:Arrays.sort()Collections.sort()Comparable 用法: x.compareTo(y) 让元素的类去实现接口,自己和自己的兄弟对象比较Comparator(x,y) 比较器 比较这两个对象scala:不管是可变集合还是不可变集合,都是返回一个新的排好的集合1、sorted默认都是自然排序(升序)class User(val age:Int,val name:Str原创 2021-05-10 13:01:02 · 714 阅读 · 0 评论 -
Scala 数组、集合、列表、队列、栈、基本函数
Scala 数组1、创建数组2、可变集合3、可变数组与不可变的转换4、多维数组的创建5、List列表 不可变6、ListBuffer 可变List7、不可变 Set集合scala 没有自己定义的数组,底层就是java的数组:+ 一般用于给不可变的集合添加单个元素在末尾+: 一般用于给不可变的集合添加单个元素在头部++ 合并两个集合+= 一般用于可变集合,便是原地修改集合 尾部+=: 一般用于可变集合,便是原地修改集合 头部++= 把后面的集合追加到前面集合的后面, 更新的是前面的集原创 2021-05-09 18:45:23 · 1712 阅读 · 0 评论 -
Scala 面向对象
Scala 面向对象1、Scala 包2、类和对象3、封装4、继承5、抽象属性和抽象方法6、单例对象(伴生对象)1、Scala 包2、类和对象3、封装4、继承5、抽象属性和抽象方法6、单例对象(伴生对象)原创 2021-05-02 16:01:01 · 409 阅读 · 0 评论 -
Scala 惰性求值
Scala 惰性求值1、主动求值2、惰性求值1、主动求值系统一旦启动,所有的值都计算出来好处:后面使用的时候速度比较快坏处:拖慢系统的启动速度,浪费内存object LazyDemo { val a :Int = {println("aaaaa"); 10} def main(args: Array[String]): Unit = { }}输出:aaaaa2、惰性求值只能用于 valobject LazyDemo { lazy val a :Int =原创 2021-04-27 15:31:30 · 391 阅读 · 0 评论 -
Scala 名调用和值调用
Scala 名调用和值调用1、值调用2、名调用调用函数传值的时候有两种方法: 1.默认都是值传递1、值调用object NameValue { def main(args: Array[String]): Unit = { //先计算再把 7 传递给 foo foo(3+4) //foo(7) } def foo(a:Int)={ println(a) println(a) }原创 2021-04-22 15:29:22 · 463 阅读 · 0 评论 -
Scala 递归和尾递归
Scala 递归和尾递归1、递归2、尾递归1、递归1.1、找到递归函数 f(5) = 5 *f(4-1) f(n) = n *f(n-1)2.1、在递归函数内部,一定要有结束条件3.1、随原创 2021-04-22 14:53:04 · 356 阅读 · 0 评论 -
Scala 闭包
闭包:闭包:就是一个函数和与其相关的引用环境变量(变量)组合的一个整体(实体)也可以:一个函数,如果访问了外部的局部变量,则这个函数和它访问的局部变量,称为闭包闭包会阻止外部变量的销毁,可以把局部变量的使用延伸到函数外部object Closure { def main(args: Array[String]): Unit = { val f = foo() val r = f(20) // 能够访问到 a 是因为有闭包的存在 println(r) } def f原创 2021-04-21 15:36:08 · 183 阅读 · 0 评论 -
Scala 几个经典的高阶函数 foreach、filter、map、reduce
几个经典的高阶函数1、foreach 函数2、filter 函数3、map 函数4、reduce 函数1、foreach 函数遍历集合中的元素,具体遍历到每个元素的时候,做什么事情,那是由调用者来确定的object High5 { def main(args: Array[String]): Unit = { val arr1:Array[Int] = Array(30,50,70,60,10,20) foreach(arr1,a=>{ println(a)原创 2021-04-21 15:06:43 · 672 阅读 · 0 评论 -
Scala 函数的特征
函数特征1、函数返回值类型推导2、Unit( = 省略)3、参数为0 ()可省4、参数默认为 val5、函数的默认值1、函数返回值类型推导函数的返回值类型可以省略,然后 scala 会根据最后一行代码,推导处函数返回值类型注: 有些情况不能推导: 1. 函数内有 return 语句 &nb原创 2021-04-20 15:16:14 · 636 阅读 · 0 评论 -
Scala 流程控制
流程控制1、分支控制 if-else1.1、单分支1.2、双分支1.3、多分支2、嵌套分支3、Switch 分支结构4、For 循环控制1、分支控制 if-else1.1、单分支val a : Int = 10if ( a % 2 == 0 ){ println(s"$a 是偶数") // a 与"是偶数" 之间要空格}1.2、双分支求两数最大值:val m : Int = 10val n : Int = 20val max : Int = if ( m原创 2021-04-18 16:02:51 · 1023 阅读 · 0 评论 -
Scala 运算符
scala 运算符1、算术运算符2、关系运算符(比较运算符)在 scala 中,没有真正的运算符,所谓运算符,其实是一个方法(函数)名!val r : Int = 1. + (2) // + 号是方法名称println( r )1、在 scala 中,调用方法的点,可以省略2、在给方法传递参数时候,如果这个方法的参数只有一个参数或者没有参数,则括号也可省略,. 和 ( ) 都省略后,这个时候的方法名我们就称为运算符val r : Int = 1原创 2021-04-16 15:39:05 · 659 阅读 · 0 评论 -
Scala 数据类型与转换
scala 数据类型java 数据类型scala 数据类型1、java 数据类型1.1、 基本数据类型 ( 8 ):基本数据类型占字节数byte1short2char2int4long8floot4double8boolean有的用一个字节,有的用一位1.2、 引用数据类型:除了基本类型,就是引用类型基本类型 => 包装类scala数据类型所有的数据都是对象,函数也是对象Any:数据类原创 2021-04-13 08:33:01 · 1067 阅读 · 0 评论 -
Scala 命名 输入输出
Scala变量、常量命名标识符字符串的输出从键盘输入数据1、变量 常量java :变量:int a = 10;常量:final int a = 100; (final 类 太监类 不能有子类)scala :变量:var a : Int = 10 ; a = 20(重新赋值)(可不指定类型,赋值后会进行类型推导)常量:val b : Int = 100(注:在scala中,能用常量的地方不要用变量)(注:必须在声明的同时给变量和常量赋原创 2021-04-11 18:03:13 · 1341 阅读 · 1 评论 -
Scala IDEA配置
IDEA配置运行Scala统一字符编码配置默认的换行符更改maven安装Scala插件让maven工程支持scala创建一个目录专门写scala代码,把目录标记为源码统一字符编码配置默认的换行符更改maven原创 2021-04-09 22:53:26 · 625 阅读 · 0 评论