-
内容:
-
1::val和var区别:
-
2: Scala必学数据类型:
-
3:运算符优先级:
-
4:函数的定义:
-
5:几个重要表达式:
1:val和var区别:
数据类型第一字母必须大写,val是值类型,内容不允许变更,var 是可变类型,内容可更新;
变量类型可自动推导,定义时候可省。
scala> ~~val money:int = 10000~~
<console>:11: error: not found: type int
val money:int = 10000
^
scala> val money:Int = 10000
money: Int = 10000
scala> val money:Int = 10000+8000
money: Int = 18000
scala> money=20000
<console>:12: error: reassignment to val
money=20000
^
scala> var name:String ="xiaoming"
name: String = xiaoming
scala> name = "guodaxia"
name: String = guodaxia
scala> var city = "kunming"
city: String = kunming
scala> city = "hangzhou"
city: String = hangzhou
scala> val money = 1000f
money: Float = 1000.0
scala> val money =1000l
money: Long = 1000
2:Scala必学数据类型:
spark学习重点关注Int/Long/- Float/Double-String/Boolean
判断一个数是否为哪个类型(中间有空格),结果为布尔类型。
scala> 10.isInstanceof[Int]
<console>:12: error: value isInstanceof is not a member of Int
10.isInstanceof[Int]
^
scala> 10. is
isInfinite isInfinity isInstanceOf isNaN isNegInfinity isPosInfinity isValidByte isValidChar isValidInt isValidLong isValidShort isWhole
scala> 10. isInstanceOf[Int]
res1: Boolean = true
scala> 10.2
res2: Double = 10.2
scala> 10.2. asInstanceOf[Long]
res3: Long = 10
3:运算符优先级:
运算符的优先级:
运算符优先级如下图所示,* / %优先级最高,依次类推
4:函数的定义:
def 函数名称(X:Int,Y:Int):Int={
…//方法体
x+y // 默认返回值
}
object FirstCourse {
def main(args: Array[String]): Unit = {
// println(add3(3,6))
// sayhello()
sayhello // 无入参数的函数,()都可以不要
}
def add(x:Int, y:Int):Int ={
x+y
}
def add2(x:Int, y:Int) ={
x+y
}
def add3(x:Int,y:Int)=x + y //如果就一句,{}都可以不用
def sayhello()={println(“我要开始飞了”)}
4.1默认参数*****:
sayname() //调用时()不能省。
def sayname(name:String=“天朝”)={
println(name)
}
4.2可变参数*****:
println(sum(1 to 10 :_)) 可变参数,后面加 :-
def sum(a:Int*)={
var result =0
for(x<-a){
result += x
}
result
}
5:几个重要表达式:
to [1,10]
until [1,10)
Range [1,10)
foreach 对前面集合的每一个元素都做同一操作 function(println)
Array(“scala”,“hive”,“spark”).foreach(x=>println(x))
for (i<- 1 to 10 if(i%2==0))
scala> 1 until 10
res1: scala.collection.immutable.Range = Range(1, 2, 3, 4, 5, 6, 7, 8, 9)
scala> 1. to (10)
res2: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
scala> 1. until(10)
res3: scala.collection.immutable.Range = Range(1, 2, 3, 4, 5, 6, 7, 8, 9)
scala> Range(1,10)
res4: scala.collection.immutable.Range = Range(1, 2, 3, 4, 5, 6, 7, 8, 9)
scala> Range91,10,2)
<console>:1: error: ';' expected but ',' found.
Range91,10,2)
^
scala> Range(1,10,2)
res5: scala.collection.immutable.Range = Range(1, 3, 5, 7, 9)