为什么要学习Scala
为了更好的掌握Spark!!!
优雅:API
开发速度快:
整合:
值和变量
val: final 赋值以后不能改变的,相当于java的final
val 值名称:类型 = xxx
val name:String = "Arsenal" //不可修改var: var 变量名称:类型 = xxx
var name:String = "Arsenal" //可修改
能类型推导
var name = "jim"
常用基本数据类型
Byte/CharShort/Int/Long/Float/Double
Boolean
String
var money:Float = 4.4 //会报错的,因为默认的是Double类型。需要在后面加上f。 var money:Float = 4.4f
强制类型转换:
val i = 10
val i = 10.asInstanceOf[Double]
asInstanceOf/isInstanceOf 类型转换/是什么类型
lazy 懒加载:用到的时候才会加载。
Hibernate 1:N
第一次使用该变量时才会真正发生计算 IO
scala> lazy val a = 1
a: Int = <lazy>
scala> a //才开始计算
res7: Int = 1
scala> import scala.io.Source._
import scala.io.Source._
scala> lazy val logs = fromFile("/home/hadoop/Helloworld.scala").mkstring
logs: string = <lazy>
scala> println(logs)
object HelloWorld {
def main(args:Array[String]) {
println("Hello xiaochun...")
}
}
Scala IDE :个人建议使用IDEA。
Integrated Development Environment
IDEA:http://www.jetbrains.com/idea
Scala IDE Eclipse:http://scala-ide.org/
NetBeans: https://netbeans.org/