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
1.1 def ++(xs: Map[(A, B)]): Map[A, B]
连接两个 Map,Map 合并时会移除重复的 key。
重复的red->红色被移除了一个
1.2 def -(elem1: A, elem2: A, elems: A*): Map[A, B]
移除key为elem1,elem2等元素
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程序的强制程序入口部分。
包的引用
方法的定义
APP
继承APP之后,会调用APP默认的main函数,不用再重写
.Array
数组遍历:
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 <-区间 */
相关文章推荐
- Scala 深入浅出实战经典 第2讲 Scala函数定义、流程控制、异常处理入门实战
- Scala 入门第三讲
- scala光速入门第三天
- Scala极速入门
- 云星数据---Scala实战系列(精品版)】:Scala入门教程011-Scala实战源码-变量声明
- spark入门知识讲解和基础数据操作编程(统一用scala编程实例)
- Scala基础入门-4
- Java程序员的Scala入门教程
- Scala 入门——Eclipse开发环境搭建
- scala入门学习(4)列表List-集合Set-映射Map等
- Scala_入门笔记_List
- 带你走进Spark编程之Scala入门
- Scala开发入门教程
- Scala入门到精通——第十节 Scala类层次结构、Traits初步
- scala 开发入门(1)-- 变量及基本数据类型
- scala 开发入门(2)-- 程序控制结构
- scala 开发入门(2)-- 程序控制结构
- Scala入门系列(六):面向对象之object
- scala 开发入门(3)-- 集合
- Scala入门之高级类型:this.type