前言:slaca属于spark,spark不属于slaca
- 在slaca中有两种数据类型,常量和变量。用户可以通过val定义常量,var定义变量。(一般用var来定义)
//例如
var a=2
- 数组是slaca常用的一种数据结构,数据是存储了一种相同类型的固定大小的顺序的集合.
数据声明的格式如下:
var a:Array[String]=new Array[String](x)
或者
var a=Array(元素1,元素2,...)
a:Array[String],Array[String]是定义数据为String类型
输入不是String类型的数据会报错。例如
scala> var a:Array[String]=Array("hh","b",1)
<console>:23: error: type mismatch;
found : Int(1)
required: String
var a:Array[String]=Array("hh","b",1)
也可以不指定数据类型,它会默认为类型
scala> var a=Array("baidu","google",1)
a: Array[Any] = Array(baidu, google, 1)
数组的操作方法
查看数据的"长度",”第一个元素“,”除了第一个元素剩下的输出“,”判断数据是否为空“,”包含某个元素“
length、head、tail、isEmpty、contains
scala> a.length
res1: Int = 3
scala> a.head
res2: Any = baidu
scala> a.tail
res3: Array[Any] = Array(google, 1)
scala> a.isEmpty
res4: Boolean = false
scala> a.contains("1")
res6: Boolean = false
scala> a.contains(1)
res7: Boolean = true
函数的定义,用def关键词。调用方法,方法名(参数)
方法名(),方法名后面定义ab类型
{ }里面是方法体
//add是方法名,定义一个相加的方法。因为没有定义ab,所以会报错。
scala> def add()={a+b}
<console>:25: error: not found: value b
def add()={a+b}
^
//指定ab的类型,默认返回类型,该例子的默认返回类型为Int
scala> def add(a:Int,b:Int)={a+b}
add: (a: Int, b: Int)Int
//调用方法
scala> add(1,2)
res10: Int = 3
//:Double是指定返回Double类型
scala> def add(a:Int,b:Int):Double={a+b}
add: (a: Int, b: Int)Double
scala> add(1,2)
res11: Double = 3.0
匿名函数
例如(a:Int,b:Int)=>x+y ,=>是匿名函数的标识符。没有def关键字也没有{}。
待续。。。
1.用Console.readLine接受用户在屏幕输入内容,"i very happy"是val a=Console.readLine回车后输入的内容,在输入"i very happy"时是看不见的