Scala学习之一---基础篇

定义变量

定义变量时,不用指字类型,系统会自动进行类型推断。这一点好像已经成为现在新出语言的标配,使用关键字:
  • var: 定义的变量可以再修改值
  • val: 定义的变量不可以再修改,相当于Java中用final修饰的。在FP的偏程风格中,更多推荐使用val

    可以在命令行中,键入scala。 试着定义几个格式:

    val result = 8+2  
    result:Int = 10
    
    val str ="hello" .
    

    你就可以看到参数的类型,这是系统自动为你推断的。

常用类型

scala是一个纯粹的学院派OO语言,它认为Java中的基础数据类型这些是一些不纯粹的OO概念,是一些妥协。因为,scala中没有基础数据类型。所有东西都是类,都是对象。8种java基础数据类型分别对应scala中的类型:Byte,Char,Short、Int、Long、Float、Double、Boolean。注意,这些都是类

算术和操作符重载

因为Scala中所有的东西都是类,因为所有的操作都是方法(或者函数),类似于

val sum = 1 + 2

实质上调用了"+()"方法,等同于如下代码:

val sum = 1.+(2)

对于有2个参数的方法,往往都可以用这种格式。用方法调用的格式,那是JAVA程序员的习惯,不过既然是学习Scala,我们还是建议采用Scala的格式。再举个例:

1.to(10)
这是JAVA的风格,但是scala更偏向于
1 to 10 

既然操作符都是方法,那么自然可以进行重载。 
值得注意的是:scala没有++,--这种操作。取而代之的是+=1,-=1

apply()方法

"Hello"(4) //产出'o'
这可不是构造函数,这实质上scala的一个语言糖,其实是调用了apply()。以上代码相当于
"Hello".apply(4)

关于这个方法我们留到后面讲伴生对象的时候再讲,此处留下悬念。

关于API以及一些工具类

首先scala的API很难读,比起JAVA那真是难读百倍。但是还是要试着去看,有几个小窍门

  • 数值类型去RichInt、RichDouble,字符串去StringOps找方法
  • 数学操作函数位于scala.math包中
  • scala中函数是可以做为参数的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值