快学Scala--01--基本概念

1.基本概念:

1.1Scala 解释器:

shell>>scala 回车
Scala 并不是一个解释器,输入的内容被快速的编译成字节码,字节码交给了JVM运行,因此被称为REPL

1.2.声明值和变量

val 定义的值实际上是一个常量----你无法改变它的内容
var 声明的值是可以改变的
scala> val i=0;
i: Int = 0

scala> var j=1
j: Int = 1

scala> i=2
<console>:12: error: reassignment to val
       i=2
scala> j=3
j: Int = 3
 
声明变量和值的时候不需要指定类型,类型会被推断
但是你可以指定其类型,如下
scala> val i:Int =9;
i: Int = 9

scala> val test:String ="hello"
test: String = hello
scala 当中,仅当同一行代码中存在多条语句才需要使用分号隔开

1.3.常用类型

    Byte Char Short Int Long Folat Double Boolean
    Scala 并不刻意区分基本类型和引用类型

  
scala> 1.toString
res1: String = 1

scala> 1.to(10)
res2: scala.collection.immutable.Range.Inclusive = Range 1 to 10
    包装类型和和基本类型之间的转换是Scala编译器的工作
scala> "hello".intersect("world")
res3: String = lo
 
我们使用方法而不是强制类型转换来做数值类型之间的转换
toInt toDouble toChar toString

1.4.算术和操作符重载

+ - *  /  %   & | ^ >> << 
=注意没有++和-- 但是有  count+=1,和count-=1;
显示:a.to(b)
隐式:a to b
操作符重载意思是自己定义操作符

1.5.调用函数和方法

import scala.math._
sqrt(2)
pow(2,4)
min(2,Pi)
无静态方法,但是有 类似的特性,叫做单例对象,而且一个类还有一个伴生对象

1.6.Apply方法

scala> val s="hello"
s: String = hello
​
scala> s(2)
res27: Char = l
​
scala> s.apply(2)
res28: Char = l

1.7Scaladoc 的使用

C是类,O是伴生对象
 

2.概念补充

2.1Scala的基础类型

    Scala共计14种基础类型:
    Null 值
空值是 scala.Null 类型。
Scala.Null和scala.Nothing是用统一的方式处理Scala面向对象类型系统的某些"边界情况"的特殊类型。
Null类是null引用对象的类型,它是每个引用类(继承自AnyRef的类)的子类。Null不兼容值类型
2.2.变量的声明
    变量声明一定需要初始值,否则会报错。真的嘛,试一试
    声明形式:  var/val  VariableName : DataType [= Initial Value]
    元组对的声明: var pa=(100,"hello")
2.3访问修饰符
    private protected public 如果没有指定访问修饰符,默认是public
对于protected【】 和private【】 要仔细体会
2.4.字符串的运算
    字符串也支持 + 的连接运算,包括和数字进行连接,结果返回字符串
    Thread.sleep()照用不误
    Scala 自动将函数的最后一行作为返回值 不需要return 关键字,当然也可以写上
 
 
《快学Scala》高清中文PDF+源代码
提取码:an5d 
 
原文地址:https://www.cnblogs.com/feixiaobai/p/7a762c9bb495b3db19086f9fc6849cf6.html