您的位置:首页 > 其它

Scala入门

2016-08-15 00:00 134 查看
scala教程 http://twitter.github.io/scala_school/zh_cn/index.html
API文档: http://www.scala-lang.org/api/current/#package
一、脚本运行

进入Spark/bin目录下,启动spark-shell脚本,进入scala编译环境





简单测试,输入1+1



输入println("hello")



1、for循环

1.1 for(i <-0 to j):包含j

0+1+2=3



1.2 for(i <-0 until j):不包含j

0+1=1



1.3 for循环遍历list列表



2、Map

val colors1 = Map("red" -> "红色",
"black" -> "黑色",
"pink" -> "粉红色"
)
val colors2 = Map("blue" -> "蓝色",
"yellow" -> "黄色",
"red" -> "红色"
)

1.1 def ++(xs: Map[(A, B)]): Map[A, B]

连接两个 Map,Map 合并时会移除重复的 key。

val colors =colors1.++(colors2 );
println(colors )




重复的red->红色被移除了一个

1.2 def -(elem1: A, elem2: A, elems: A*): Map[A, B]

移除key为elem1,elem2等元素

val colors =colors1.-("black");
println(colors )




1.3 abstract def +=(kv: (A, B)): Map.this.type 向map中田间键值对



Adds a new key/value pair to this map.

二、编译器中运行

下载scala的eclipse编辑器

新建scala工程,新建scala对象。



运行scala文件,输出结果“Hello world”

def main(args: Array[String]) - Scala程序从main()方法开始处理,这是每一个Scala程序的强制程序入口部分。

包的引用

import java.awt.Color  // 引入Color
import java.awt._  // 引入包内所有成员
import java.awt.{Color, Font}//引入包中部分成员
import java.util.{HashMap => JavaHashMap}// 重命名成员
import java.util.{HashMap => _, _} // 引入了util包的所有成员,但是HashMap被隐藏了


方法的定义

/**
* 方法的定义,返回值Int
*/
def addInt(a: Int, b: Int): Int = {
var sum: Int = 0;
sum = a + b;
return sum;
}

/**
* 方法的定义,没有返回值
*/
def printlnStr(): Unit = {
println("hi boy");
}


APP

继承APP之后,会调用APP默认的main函数,不用再重写

object HelloWord extends App{
println("Hello, world! 123")
}
/**输出结果
*Hello, world! 123
/


val executionStart: Long

The time when the execution of this program started, 程序执行的开始时间

object HelloWord extends App{
var time = this.executionStart
println("time="+time)

}

//输出结果  time=1471834954153


.Array

def reverse: Array[T]

Returns new mutable indexed sequence with elements in reversed order.对数组进行倒序

val numbers = Array(1, 2, 3, 4)
val reverseList = numbers.reverse;
println("reverseList(0)="+reverseList(0))
println("reverseList(1)="+reverseList(1))
println("reverseList(2)="+reverseList(2))
println("reverseList(3)="+reverseList(3))

/**输出结果
reverseList(0)=4
reverseList(1)=3
reverseList(2)=2
reverseList(3)=1
*/

数组遍历:

for (i <- 0 until list3.length) {//表示i从0 到length-1
println(list3(i));
}

/**
i <-区间
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: