Scala学习笔记(一)

Scala学习笔记(一)

    • Scaladoc的使用:
    • Scala方法的使用
    • 练习一

Scaladoc的使用:

1) 登录www.scala-lang.org/api提供在线浏览,地址栏可以输入关键词直接搜索方法和或类
2) 登录http://scala-lang.org/download/all.html,下载副本提供离线浏览scaladoc
3) 通过搜索关键词点击进入所属类页面下,比如搜索BigInt类,可以看到左上角显示的scala.math.BigInt代表类所在的包路径,C和O分别代表对应的类或伴生对象,右上角是对应的链接入口,伴生对象中的方法类似于Java类中的静态方法。
Scala学习笔记(一)_第1张图片
在这里插入图片描述

Scala方法的使用

  1. 方法的一般调用
  • 通常用a 方法 b 作为a.方法(b) 的简写,这里的方法是一个带有两个参数的方法(一个隐式一个显式)。
  • 无参方法不修改对象,调用时无需写括号
  1. 符号重载和apply方法
  • 在Java中不允许对操作符进行重载,但scala支持这一行为。这也就意味着你会在数值类看到对各个操作符的定义,你完全可以在有必要的情况下进行操作符重载。
  • 在很多类或伴生对象中都可以看到apply方法的存在,但为什么把它和符号重载放在一起呢,因为在使用过程中完全可以将它当作符号()的方法重载。举例来说,”Hello”(4)是“Hello”.apply(4)的简写,此处的apply是StringOps类中的方法,返回字符串的第i个字符。
  1. 通配符
    在Java中的通配符是“*”,而在scala中则是“_”。
  • 导入包、类或方法。例如:import scala.math._
  • 以紧凑的表示法给出函数定义。在scala中,方法可以以函数作为参数,调用类似方法时,就可以使用通配符进行简写。例如:count(p=>p.isUpper)可以简写为count(_.isUpper),如下图:
    Scala学习笔记(一)_第2张图片
  1. 其他
    Scala中的方法的使用有很多小窍门:
  • 使用方括号来表示类型参数,例如Seq[Char]为元素类型为Char的序列
  • GenSeq、GenIterable、GenTraversableOnce是具有细微差别的序列类型
  • 使用数值类型,要多查阅RichInt、RichDouble类,如果是字符串类型则要多查阅StringOps类。
  • 有些方法是有隐式参数的。例如:StringOps的sorted方法def sorted[B >: Char](implicit ord: math.Ordering[B]): String,定义中的implicit ord 就代表sorted方法是“隐式”提供的。
    · Sorted方法定义中B >: Char 代表“Char”的任何超类型

练习一

  1. 在scala中获取字符串的首字符和尾字符
    Scala学习笔记(一)_第3张图片
  2. 创建随机文件的方式之一是生成一个随机的BigInt,然后将它转换成三十六进制,交出类似于“qsnv…39o06…”这样的字符串。
    在这里插入图片描述
  3. 用BigInt计算2的1024次方
    · 使用pow()方法
    Scala学习笔记(一)_第4张图片
    · 使用位移 <<
    Scala学习笔记(一)_第5张图片

你可能感兴趣的:(Scala)