随笔分类 - scala学习笔记
Scala-泛型
摘要:泛型 泛型定义 Scala的泛型和Java中的泛型表达的含义都是一样的,对处理的数据类型进行约束,但是Scala提供了更加强大的功能 scala中的泛型采用中括号 scala中的泛型是不可变的 泛型和类型不是一个层面的东西 所以scala中泛型和类型无法联合使用 泛型语法 如果能将类型和泛型当成一个
Scala-隐式转换
摘要:隐式转换 精度小的类型可以自动转换为精度大的类型,这个转换过程无需开发人员参与,由编译器自动完成,这个转换操作我们称之为隐式转换。 如果程序编译出错,编译器会尝试在整个的作用域中查找能够让程序编译通过的方式 如果找到,那么编译器会尝试二次编译,让之前编译出现错误的代码经过转换后能够编译通过。 这个转
Scala-异常
摘要:异常 Scala异常语法处理上和Java类似,但是又不尽相同。 Java异常 try { int a = 10; int b = 0; int c = a / b; } catch (ArithmeticException e){ // catch时,需要将范围小的写到前面 e.printStack
Scala-模式匹配
摘要:模式匹配 简介 类似于java中switch 当数据满足某一个分支时,执行完毕后,就直接跳出 case分支类似于default语言, 分支匹配其实就是顺序匹配 如果数据没有匹配任何规则,会发生错误 // val age = 20 // // age match { // //case _ => pr
Scala-集合
摘要:集合 Scala的集合有三大类: 序列Seq、集Set、映射Map 所有的集合都扩展自Iterable特质。对于几乎所有的集合类 Scala都同时提供了可变和不可变的版本 可变集合 可以在适当的地方被更新或扩展。这意味着你可以修改,添加,移除一个集合的元素。 不可变集合 永远不会改变。不过,你仍然可
Scala-面向对象编程
摘要:面向对象编程 包 语法 package com.pac1.pac2.pac3 package com package pac1 { package pac2 { package pac3 { object ScalaPackage { def test(): Unit = { println("te
Scala-运算符
摘要:运算符 == 判断内容是否相同 但与equals不同 多了一个非空判断 eq则是判断内存地址 简言之,equals方法是检查值是否相等,而eq方法检查的是引用是否相等。所以如果比较的对象是null那么==调用的是eq,不是null的情况调用的是equals。 // scala语法中双等号就是比较对象
Scala-流程控制
摘要:分支控制 单分支 if(布尔表达式) { // 如果布尔表达式为 true 则执行该语句块 } 双分支 if(布尔表达式) { // 如果布尔表达式为 true 则执行该语句块 } else { // 如果布尔表达式为 false 则执行该语句块 } 多分支 if(布尔表达式1) { // 如果布尔
Scala-类型转换
摘要:类型转换 隐式类型转换 val b : Byte = 10 val s : Short = b val i : Int = s val lon : Long = i 常量计算是在编译前完成的 变量计算是在编译时进行的 强制类型转换 var a : Int = 10 Var b : Byte = a.
Scala-函数式编程
摘要:函数式编程 // scala语言是函数式编程语言,所以,万物皆函数,所以方法其实就是函数 // def 函数名(参数1:参数类型1, 参数2:参数类型2):函数返回值类型 = {函数体} def test1(): Unit = { println("test function...") } 函数与方
Scala-变量与数据类型
摘要:变量与数据类型 变量声明 // var | val 变量名 :变量类型 = 变量值 // 用户名称 var username : String = "zhangsan" //可变变量 :值可以改变的变量 // 用户密码 val userpswd : String = "000000" //不可变变量