scala学习之路(一)基础

Scala(一)基础

  1. 使用Scala解释器
  2. 用var和val定义变量
  3. 数字类型
  4. 使用操作符和函数
  5. 浏览Scaladoc

命令行模式下使用解释器
解释器返回结果类型
从技术上讲,scala并不是一个解释器。实际发生的是,你输入的内容被快速地编译成字节码,然后这段字节码交由Java虚拟机执行。正因为如此,大多数的Scala程序员更倾向与将它称为REPL(Read取值 -> Evaluation求值 -> Print打印 -> Loop循环)

1.使用var val

val 定义的是一个常量无法它改变内容
val 定义的是一个可变的变量

2.Scala常用数据类型

七种数值类型:Byte、Char、Short、Int、Long、Float、Double、Boolean
定义变量声明数据类型:

val a : String = null
val b : Any = "Hello"

1.toString() //将1转换为String类型 "1"
1.to(10) //获得Range(1,2,3,4,5,6,7,8,9,10) == 1.to 10

3.算术和操作符的重载
基本运算符: +  -  /   %  位运算:  & |  ^   >>  << 
a + b 是 a.+(b) 方法的调用
1.to(10)    可以简写成   1 to 10
*scala没有提供++和--操作符我们需要使用 +=1 或 -=1
4.方法的调用
通过对象调用方法:
"bca'.sorted  //将得到字符串"abc"
import scala.math._ //scala中,_字符串是“通配符”,类似与Java中
sqrt(2)  //2的算数平方根
pow(2,4)    //2的四次方
min(3,Pi)   //两者取最小
5.apply方法

val s = "hello"
s(4)    //返回 "o"
可以将这种用法当做()操作符的重载形式,背后的原理是一个名为apply的方法。
def apply(n: Int): Char
为什么不用[]操作符?可以将元素类型为T的序列s想象成一个从{0,1,2,.....n-1}到T的函数,
这个函数将i映射到s(i),即序列中的第i个元素。
注意:
    偶尔()表示法会跟另一个scala特性——隐式函数,冲突。
    "bca".sorted(3)
    //将引发错误,因为sorted方法可以用一个隐式的排序参数来调用,但3不是一个有效的
    排序。
    正确处理
    ("bca".sorted)(3)
6.Scaladoc ,Scala的API文档

http://www.scala-lang.org/api

PS:
内容根据《快学Scala第二版》摘取及个人理解
scala2.12

猜你喜欢

转载自www.cnblogs.com/Thomas-blog/p/9728227.html