scala自学笔记(2)

来源:互联网 发布:nginx 跳转到二级目录 编辑:程序博客网 时间:2024/05/15 08:48
     Scala基于jvm,基础语法与java大不相同。先看看最基础的声明一个数值。
     Scala用val来声明常量,var来声明变量。至于具体类型,Scala比较聪明,他可以自动识别数据类型。
     val a=1
     顺便提一下Scala并不需要分号作为语句结尾,当然如果你习惯加分号也无所谓。有些情况下我们还是要自己去声明类型的。上面语句用c语言来写就是:
     int a=1
     但是Scala识别不了这种形式,在Scala中这句话应该这么写:
     val a:Int =1
    也不知道是不是函数式编程的特性,Scala里面把一切变成了对象,例如这样:
    1.toString()
    在c语言中自定义的标识名只能由数字字母和下划线组成,但是Scala不一样,它不会在意这些,来看这个:
    a+b
    这是个很普通的表达式然而这句话和c语言中同样的语句完全不一样,这是个缩写,我们来看全写:
    a.+(b)
    很明显a调用了一个叫+的方法,从这里我们可以看出Scala调用方法除了常规的对象.方法(参数)之外还可以这样写:
    对象 方法 参数
    值得注意的是Scala并没有++和--运算符。看样子开发Scala的工程师比较偷懒,没写这个方法。
    Scala可以直接引用静态方法并不需要写类名,当然前提是你把包引入了,注意Scala中通配符是_而不是*:
    import scala.math._

    sqrt(2)

    在后来的阅读中我发现了书中的矛盾之处,上文刚提到静态方法,但是下文又说Scala没有静态方法,具体是个什么情况,我会在后面的学习中来解决这个问题


0 0
原创粉丝点击