实在没办法我喜欢Spark的RDD思想,所以才学习Scala语言的,这里就当做笔记了.
Scala支持的数据类型:
String Char Boolean Unit Long Int Short Double Null AnyRef
Scala命名:
1. 类名 -- 首字母大写(多个单词也是首字母大写)
class SimpleApp{
}
2. 函数方法 -- 首字母小写:
class SimpleApp{
def myFunction(a:Int, b:Int) :Int ={
return a * b
}
}
Scala for循环:
可能涉及到的关键字:
<- to until yield
1. 一个简单的for例子:
val mylist = List(1,2,3,4,5,7)
for(a <- mylist){
println(a)
}
2. for当中还可以带条件遍历:
val mylist = List(1,2,3,4,5,7)
for(a <- mylist if a > 2; if a % 2 == 0){
println(a)
}
3. for 遍历完,返回给一个变量:
val mylist = List(1,2,3,4,5,7)
var retdata = for(a <- mylist if a > 2; if a % 2 == 0) yield a
Scala 变量的定义:
Scala由两种变量:
1. var变量,
2. val常量
定义: var vardata :Int = 3 或 val valdata :Int = 3
类型可以省略,因为Scala可以从值中获取类型,例如:
val vdata = "sfafdasa"
Scala中以;分隔多条语句
Scala方法的定义:
格式: def functionName ([参数列表]) :[return type] = {
}
1. 一般的定义:
def myAdd(a :Int, b :Int) :Int = {
return a + b
}
2. 定义一个无返回函数:
#省略写法
def myPrint(a :Int, b :Int){
println(a)
println(b)
}
#完整写法
def myPrint(a :Int, b :Int) :Unit = {
println(a)
println(b)
}
3. 定义匿名函数:
关键字: =>
1. 匿名函数赋值给变量:
var mul = (a :Int, b :Int) => a * b
println(mul(10,20))
Scala中编程常用的几块我觉得是:
String Map Set List Iterator Option[T] Array 元组,
Scala 对象编程:
1. Scala跟java类似也是单继承
2. Scala中也有public, protected,private 默认是public
3. Scala 异常处理try catch
4. Scala 继承关键字 extends, 从写 关键字override
5. 定义接口 关键字 traint