zoukankan      html  css  js  c++  java
  • Scala--基础

    一、Scala解析器

    安装Scala

      scala-2.10.4.msi

    进入命令行窗口

      cmd

    输入scala

      

    命令操作:

      

    8 * 5 + 2 的结果被命名为res0,在后续操作中可以使用这个名称;

    0.5 * res0 使用之前的计算结果常量名参与运算;

    "Hello," + res0 显示结果为String类型;

    res2.to + tab键 显示补全命令;

    res2.toUpperCase 将res2字符串转化为大写;

    二、声明值和变量

    val 常量,值不可改变

    var 变量,值可以改变

    res0,res1这些自动生成的名称,是val,值也不可改变 

    var str:String = "hello"

    var str, message:String = null

    str,message都初始化为null

    声明值(val)或变量(var)需要初始化,不然会报错。

    scala根据初始化推断数据类型。 

    当然也可以手动指定类型   变量名:数据类型

    val str:String = "hello"

    三、常用类型

    数据类型描述
    Byte 8位有符号补码整数。数值区间为 -128 到 127
    Short 16位有符号补码整数。数值区间为 -32768 到 32767
    Int 32位有符号补码整数。数值区间为 -2147483648 到 2147483647
    Long 64位有符号补码整数。数值区间为 -9223372036854775808 到 9223372036854775807
    Float 32位IEEE754单精度浮点数
    Double 64位IEEE754单精度浮点数
    Char 16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF
    String 字符序列
    Boolean true或false
    Unit 表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。
    Null null 或空引用
    Nothing Nothing类型在Scala的类层级的最低端;它是任何其他类型的子类型。
    Any Any是所有其他类的超类
    AnyRef AnyRef类是Scala里所有引用类(reference class)的基类

    1.to(10)

    1.toString()

    四、算术和操作符重载

    +-*/%等操作符实际是方法;

    a 方法 b  =>  a.方法(b)

    a + b   简写为  a.+(b)

    1 to 10          1.to(10)

    counter+=1   scala没有++

    五、调用函数和方法

    import scala.math._ 等价于

    import math._       其中scala可以省略,_字符是通配符,类似于java中的*

    pow(2,4)

    没有参数且不改变当前对象的方法不带圆括号

    "Hello".distinct

    六、apply方法

    def apply(n: int) : Char

    "Hello".(4)  是  "Hello".apply(4)  的简写

    七、Scaladoc

    在线API文档 2.11.4版本 :http://www.scala-lang.org/api/2.11.4/#package

    类(C),伴生对象(O)

    数学函数位于:scala.math包中

    1.

    2.

    3.

    4.

    http://www.scala-lang.org/api/current/scala/collection/immutable/StringOps.html

    搜索StringOps

    5.

    Int  RichInt

    6.

    7.

    scala.util.Random

    8.

    9.

    take, takeRight

    10.

    参考《快学Scala》

  • 相关阅读:
    acm 总结之大数加法
    hdu 1004
    hdu 1887
    hdu 2007
    hdu 2004
    ACM总结之 A+B problem 总结
    nyoj_42_一笔画问题_201403181935
    最短路径--Floyd算法
    最短路径—Dijkstra算法
    nyoj_114_某种序列_201403161700
  • 原文地址:https://www.cnblogs.com/one--way/p/5795165.html
Copyright © 2011-2022 走看看