1、if条件表达式:
val x = 3
val a = if(x > 2) 1 else -1
2、for循环:
例如:for(i <-2 to 5 ) println(i)
其中 “ 变量 <- 表达式 ” 部分被称为生成器
例如:for(i <- 1 to 5 if i%3==0) println(i)
使用该表达式,过滤出满足指定条件的结果,在例子中输出3的倍数
3、sc.textFiles() 与 sc.wholeTextFiles() 的区别
sc.textFile()是将path 里的所有文件内容读出,以文件中的每一行作为一条记录的方式,文件的每一行 相当于 列表 的一个元素,因此可以在每个partition中用for i in data的形式遍历处理数据。
sc.wholeTextFiles()返回的是[(key, val), (key, val)...]的形式,其中key是文件路径,val是文件内容,每个文件作为一个记录。这说明这里的 val 将不再是 list 的方式为你将文件每行拆成一个 list的元素,
而是将整个文本的内容以字符串的形式读进来,也就是说val = '...line1... ...line2... '。
而是将整个文本的内容以字符串的形式读进来,也就是说val = '...line1... ...line2... '。
4、读写文件:
写入文本文件:import java.io.PrintWriter
val out = new PrintWriter("output,txt:)
for( i<- 1 to 5 ) out.println(i)
out.close()
注:使用相对路径时,保存到当前目录下,将 1、2、3、4、5写入output,txt中
读取文本文件:import scala.io.Source val in = Source.fromFile("output.txt")
val lines = in.getLines
for(line <- lines) println(line)