scala学习笔记(基础知识)
2016-01-27 15:42
357 查看
一、 基本类型
二、 面向对象思想
scala中一切皆为对象,函数也是对象,数字也是对象
三、 声明变量
1. var 定义变量
val 类似于java中的final类型
为变量声明类型
四、 定义函数
1. 有函数体
没有函数体,类似于python的lambda
五、定义类
熟悉python的同学应该很容易接受
六、定义脚本
编写print.scala脚本
调用脚本
七、控制
1. if
如果if后面没有else,默认返回Unit
2. while
编写脚本while.scala脚本
for
1). 循环打印1-9
2). 类java增强for循环
3). foreach循环
循环停止用break
scala中不建议使用break,可以使用标志位的方式停止循环
如果一定要使用break,可以引用scala.util.control.Breaks._,引用后可以使用break关键字了。
名称 | 位数 | 范围或备注 |
---|---|---|
Byte | 8bit的有符号数字 | -128 – 127 |
Short | 16 bit有符号数字 | -32768 – 32767 |
Int | 32 bit 有符号数字 | -2147483648 到 2147483647 |
Long | 64 bit 有符号数字 | -9223372036854775808 到 9223372036854775807 |
Float | 32 bit IEEE 754 | 单精度浮点数 |
Double | 64 bit IEEE 754 | 双精度浮点数 |
Char | 16 bit Unicode字符 | U+0000 到 U+FFFF |
String | 字符串 | |
Boolean | 布尔类型 | |
Unit | 表示无值,和其他语言中void等同 | |
Null | 空值或者空引用 | |
Nothing | 所有其他类型的字类型,表示没有值 |
scala中一切皆为对象,函数也是对象,数字也是对象
三、 声明变量
1. var 定义变量
var msg="hello scala!" println(msg)
val 类似于java中的final类型
var msg="hello scala!" println(msg)
为变量声明类型
scala> var msg2: java.lang.String = "Hello world!"
四、 定义函数
1. 有函数体
scala> def max(x: Int, y: Int): Int = { if (x > y) x else y } scala> max(3,5) 结果:5
没有函数体,类似于python的lambda
def max2(x: Int, y: Int) = if (x > y) x else y scala>def greet() = println("Hello, world!")
五、定义类
熟悉python的同学应该很容易接受
class Accumulator{ def add(a:Int,b:Int):Int = { return a+b } } var acc = new Accumulator() var sum = acc.add(1,3) println(sum) println(acc.add(2,3))
六、定义脚本
编写print.scala脚本
print(args)
调用脚本
$scala print.scala hello
七、控制
1. if
def max(x: Int, y: Int): Int = { if (x > y) x else y }
如果if后面没有else,默认返回Unit
2. while
编写脚本while.scala脚本
var i=0 while(i<args.length){ print(args(i)) i += 1 }
$scala while.scala 123 abc
for
1). 循环打印1-9
for(i<-1 to 9) print i
2). 类java增强for循环
for(arg<-args) print arg
3). foreach循环
args.foreach(arg=> println(arg))
循环停止用break
scala中不建议使用break,可以使用标志位的方式停止循环
var flag = true var count = 0 while(flag){ count = count+1 if(count==10) flag = false }
如果一定要使用break,可以引用scala.util.control.Breaks._,引用后可以使用break关键字了。
相关文章推荐
- Windows下Scala环境搭建
- Windows7下安装Scala 2.9.2教程
- Scala代码实现列出Hadoop 文件夹下面的所有文件
- ClassNotFoundException:scala.PreDef$
- sbt创建web项目
- XML 文件解析--含Unicode字符的XML文件
- 分分钟掌握快速排序(Java / Scala 实现)
- Scala极速入门
- Spark初探
- Scala实现REST操作
- Scala method call syntax
- 关于Scala多重继承的菱形问题
- Scala 高阶函数(high-order function)剖析
- Scala Monad Design Pattern
- Spray.io搭建Rest服务
- Spray.io搭建Rest — 支持Twirl模板并部署
- 搭建hadoop/spark集群环境
- Akka (actors) remote example
- scala工具库
- scala-协变、逆变、上界、下界