• Scala学习一——基础


    一.使用Scala解释器

      如果以命令行的方式运行,输出的结果会把类型带上,且结果名默认为res0递增。且Scala解释器读到一个解释器求值打印然后读取下一个(这个过程为读取-求值-打印-循环[REPL])。

    二.用var和val定义变量

    • val定义的是常量(无法修改)
    • var定义的是变量(可以修改)

      注:推荐使用val定义变量,除非需要改变,不用声明类型(但必须初始化)[必要时也可以声明类型]。

    三.数字类型

      Scala也有七种数值类型(Byte,Char,Short,Int,Long,Float,Double),以及Boolean类型,但它们都是类。

    四.使用操作符和函数

      +-×/%和&|^>><<都是方法。(如a+b是a.+(b)的简写),注意无++。(Int类是不可变的)

    五.apply方法

      如“Hello”(4)取第5个字符实际就是"Hello".apply(4)的简写。

      利用伴生对象的apply方法是Scala构建对象的常用方法。如Array(1,4,19)返回一个数组实际调用的就是apply方法。

    六.浏览Scaladoc

      api网址:https://www.scala-lang.org/api

      注意:

        • 想使用数值类型——看清RichInt,RichDouble等,字符串——看清StringOps
        • 数学函数位于scala.math包中,而不是某个类中
        • 有些奇怪的函数名称
        • 标记为implicit方法对应的是自动(隐式转换)
        • 方法可以以函数作为参数
        • Range——数字区间,Seq[Char]——字符序列等等

    七.练习

       1.

       2.

       3.可知res是val,是不可变的

      

     

       4.查找API可知,该方法属于字符串,属于StringOps

     

       5. 查询API得该方法属于Int类

     

       6.

       7.需要引入probablePrime(位于BigInt),Random类(位于scala.util)

       8.

       9.

       10.如图,take是从字符串首开始获取字符串,drop是从字符串首开始去除字符串。 takeRight和dropRight是从字符串尾开始操作。 这四个方法都是单方向的。 如果我想要字符串中间的子字符串,那么需要同时调用drop和dropRight,或者使用substring 。

  • 相关阅读:
    八皇后(回溯经典)
    高精度阶乘(大数运算)
    跳棋(利用规范的数学方法)
    贪心砝码(分治法)
    大数乘方取余
    二分法查找
    汉诺塔(经典递归)(未完全明白)
    斐波那契数列和
    实验 7: OpenDaylight 实验——Python 中的 REST API 调用
    实验 6:OpenDaylight 实验——OpenDaylight 及 Postman 实现流表下发流表
  • 原文地址:https://www.cnblogs.com/lyq-biu/p/11940084.html
Copyright © 2020-2023  润新知