• 1 了解Scala


    1 定义变量

    单个变量:var name = "benxintuzi"

    等价于  var name : String = "benxintuzi"(即定义变量时可以不显示指定类型,scala会根据数据自动识别)

    多个变量:var x, y = 100

    val age = 10

    说明:var定义变量,val定义常量

    2 函数名的自动补全:Tab键

    3 Scala的数值类型

    与Java一样,Scala有7中数值类型:Byte/Char/Short/Int/Long/Float/Double/Boolean。与Java不同的是,Scala中的数值类型是类,其并不刻意区分基本类型和引用类型,即,你可以这样做:1.toString()-----"1"

    在Scala中,对于数值类型之间的转换,不使用强制类型转换,而是使用方法,如:99.44.toInt----99

    4 运算符重载

    a + b 等价于调用a.+(b),因此1.to(10) 也等价于1 to 10

    Scala中并没有提供自增++和自减—,需要使用 += 1  -= 1

    5 函数和方法的调用

    在Scala中,除了方法之外,还提供了函数,这样无形中会极大地简化编程,例如数学运算函数都存在如下包中:

    Import scala.math._     // Scala中的 _ 相当于Java中的 *

    当然,导入以scala.开头的包时,scala.可以省略,如上相当于import math._

    Scala没有静态方法,不过却有个类似的特性,叫做companion对象,通常每个都带有这个对象,其方法与Java中的静态方法一样

    不带参数的Scala方法通常不使用圆括号,如"Hello".distinct

    6 apply方法

    如同C++中的s[i], Java中的s.charAt(i),在Scala中,只需写s(i)即可,如"Hello"(4)----'o'

    其实是调用了一个apply函数,相当于:"Hello".apply(4)

    在StringOps类的文档中,apply定义如下:def apply(n : Int) : Char

                                                                        -----源自《快学Scala》Chapter 1

  • 相关阅读:
    AVL树的java实现
    request和response的setCharacterEncoding()方法
    几种常用数据库连接池的使用
    String类、static关键字、Arrays类、Math类
    QT学习笔记(day02)
    QT学习笔记(day01)
    STL中栈和链表的不同实现方式的速度对比
    C++泛化双端队列
    C++泛化队列
    C++泛化栈
  • 原文地址:https://www.cnblogs.com/benxintuzi/p/4519794.html
Copyright © 2020-2023  润新知