Scala初学-20160109
2016-01-09 00:00
211 查看
概念
scala是一门类java的语言,可以直接使用java类库。
Scala运行是编译成java字节码,可以运行在任何标准的JVM虚拟机上
初识:
运行Scala解释器:
scala> 1 + 1
res0: Int = 2
res0是解释器自动创建的变量名称,用来承载结果,由此看出Scala语言定义变量时,
他的变量类型格式是变量名+“:”+变量类性,如果不定义变量名的话解释器会自动给你生成一个变量,
变量定义
1、定义常量用val,表达式结尾没有逗号
scala> val two = 1 + 1
two: Int = 2
val定义一个常量类似于java的final,从上面的表达式看出,我们并没有定义变量two的类型,返回的结果是int类型
由此可见Scala具有自己推测结果类型的能力,并切从整体格式上看我们可以把表达式直接付给变量,并且你可以看到
表达式结尾没有分号
2、定义变量用var
scala> var a="dfa"
a: String = dfa
scala> a
res1: String = dfa
scala> var a=123
a: Int = 123
scala> a
res2: Int = 123
由此可见我们定义可变量用var,我们注意到当我们定义一个变量后,再次输入这个变量解释器又会自动给我们创建一个变量res1
3、函数
函数定义
函数使用def来定义,参数需要指定参数类型签名,参数类型签名区分大小写,首字母大写,如果不带参数的话则可以不待括号
匿名函数:
匿名函数可以作为参数传递,非常有用
scala是一门类java的语言,可以直接使用java类库。
Scala运行是编译成java字节码,可以运行在任何标准的JVM虚拟机上
初识:
运行Scala解释器:
scala> 1 + 1
res0: Int = 2
res0是解释器自动创建的变量名称,用来承载结果,由此看出Scala语言定义变量时,
他的变量类型格式是变量名+“:”+变量类性,如果不定义变量名的话解释器会自动给你生成一个变量,
变量定义
1、定义常量用val,表达式结尾没有逗号
scala> val two = 1 + 1
two: Int = 2
val定义一个常量类似于java的final,从上面的表达式看出,我们并没有定义变量two的类型,返回的结果是int类型
由此可见Scala具有自己推测结果类型的能力,并切从整体格式上看我们可以把表达式直接付给变量,并且你可以看到
表达式结尾没有分号
2、定义变量用var
scala> var a="dfa"
a: String = dfa
scala> a
res1: String = dfa
scala> var a=123
a: Int = 123
scala> a
res2: Int = 123
由此可见我们定义可变量用var,我们注意到当我们定义一个变量后,再次输入这个变量解释器又会自动给我们创建一个变量res1
3、函数
函数定义
scala> def addOne(m: Int): Int = m + 1 addOne: (m: Int)Int
函数使用def来定义,参数需要指定参数类型签名,参数类型签名区分大小写,首字母大写,如果不带参数的话则可以不待括号
匿名函数:
scala> (x: Int) => x + 1 res2: (Int) => Int = <function1>
scala> { i: Int => println("hello world") i * 2 } res0: (Int) => Int = <function1>
匿名函数可以作为参数传递,非常有用
相关文章推荐
- java学习第二阶段day8
- Android第一阶段day1
- 四则运算计算器day1.1
- 做一个上下翻页图片的功能day1.2
- tomcat配置路径
- RadioGroup的使用 day2
- Html5-测试Canvas
- D3.js-坐标轴生成测试SVG
- WinCE 6.0学习笔记一
- 虚拟路径波浪号~和斜杠/的区别
- postgresql9.5 release note
- postgresql内核分析之SQL解析(2)
- C++11新特性之 std::forward(完美转发)
- How to get the query string by javascript?
- C++11新特性之 std::forward(完美转发)
- How to get the query string by javascript?
- MYSQL1064错误
- 死记硬背
- ubuntu在python3和python2之间切换
- WebGoat实验之Buffer Overflow(缓冲区溢出)- 2016.01.08