学习spark系列---scala 编程基础
来源:互联网 发布:如意时时彩源码 编辑:程序博客网 时间:2024/06/05 20:53
变量
var getter and setter
val getter 一旦初始化就不能赋值,鼓励使用
数据类型
- array
array 不可变长度 arrayBuffer 可变长度, 互相转化函数 toArray() 和 toBuffer() - list
- tuple 包含不同的元素类型 ,元组索引从1开始, 如:tuple._1
- set
- map
hashmap和treemap (a->b) 等价于 (a,b)
immutable 长度不可变
mutable 长度可变
yield
for(statement1) yield statement2创建了一个类型与原始集合相同的新集合
n to m 包括m 如1 to 5 => 1,2,3,4,5
n until m 不包括m 如 1 until 5 => 1,2,3,4
运算符优先级
- * / %
- + -
- :
- = !
- <>
- &
- ^
- |
- all letters
- all assignment operators
控制结构表达式
- if(statement1) express1 else express2 可以作为表达式赋值 如:
var a = if (x>0) 1 else 0
- while
- for 循环 to unitl
左箭头 <- 代表赋值的意思
函数的几种写法
命名函数
- 有返回值,有参数
def AddOne(x:Int):Int ={x+1}
- 返回值类型可以省略不写,自动推断
def add(x:Int) = {x+1}
- 没有返回值 unit, =可省略
def display(s:String){println(s)}
- 没有参数,参数表可省略, 调用时不能加括号
def display{println("Hello World!")}
- 一行代码,{}可省略
def add(x:Int)= x+1
java ++i 或者i++ 在scala是不允许使用的 可以i=i+1或者 i+=1
匿名函数
=> 左边是参数,右边是函数体
(x:Int) => x + 1var add = (x:Int,y:Int)=> x+yadd(1,2)
数组的两种遍历方式
for(i <- 0 to array.length-1)//index print(array(i))for(i <- 0 until array.length) print(array(i))
for(a <- array) // foreach print(a)
scala 默认使用的不可变集合scala.collection.immutable.XX
如果需要使用可变集合 须引用scala.collection.mutable.XX包
阅读全文
0 0
- 学习spark系列---scala 编程基础
- Spark基础-Scala学习1
- Spark基础-Scala函数式编程
- Spark基础-Scala集合函数式编程
- Spark基础-Scala类型参数编程
- spark学习笔记一:scala语言基础
- Spark学习笔记1-Scala基础语法
- Spark学习-RDD编程基础
- spark、scala基础
- scala学习笔记:面向对象编程基础
- Scala学习笔记(一)编程基础
- spark学习笔记二:scala语言基础2
- Spark与Scala学习
- Spark学习--scala
- Spark下Scala学习
- Spark学习链接(Scala)
- Spark学习笔记3-Scala函数式编程
- scala基础系列一
- Java 继承
- vue2.0
- OPENGL—改进Bresenham画直线
- 内网转发ngrok
- 基于Spark平台的电影推荐系统实现
- 学习spark系列---scala 编程基础
- Android保存图片到系统不能及时生成缩略图的解决办法
- QT布局管理
- JAVA的学习开篇
- ubuntu 安装 tool
- c语言-函数执行顺序,函数返回类型那些事
- ios MD5加密32位(区分大小写)
- 【JavaScript】随笔
- Mysql+Heartbeat+Drbd搭建mysql的高可用