Scala学习之一---基础篇
来源:互联网 发布:python快速注释快捷键 编辑:程序博客网 时间:2024/04/29 07:58
定义变量
定义变量时,不用指字类型,系统会自动进行类型推断。这一点好像已经成为现在新出语言的标配,使用关键字:
- var: 定义的变量可以再修改值
val: 定义的变量不可以再修改,相当于Java中用final修饰的。在FP的偏程风格中,更多推荐使用val
可以在命令行中,键入scala。 试着定义几个格式:
val result = 8+2 result:Int = 10val str ="hello" .
你就可以看到参数的类型,这是系统自动为你推断的。
常用类型
scala是一个纯粹的学院派OO语言,它认为Java中的基础数据类型这些是一些不纯粹的OO概念,是一些妥协。因为,scala中没有基础数据类型。所有东西都是类,都是对象。8种java基础数据类型分别对应scala中的类型:Byte,Char,Short、Int、Long、Float、Double、Boolean。注意,这些都是类
算术和操作符重载
因为Scala中所有的东西都是类,因为所有的操作都是方法(或者函数),类似于
val sum = 1 + 2
实质上调用了"+()"方法,等同于如下代码:
val sum = 1.+(2)
对于有2个参数的方法,往往都可以用这种格式。用方法调用的格式,那是JAVA程序员的习惯,不过既然是学习Scala,我们还是建议采用Scala的格式。再举个例:
1.to(10)这是JAVA的风格,但是scala更偏向于
1 to 10
既然操作符都是方法,那么自然可以进行重载。
值得注意的是:scala没有++,--这种操作。取而代之的是+=1,-=1
apply()方法
"Hello"(4) //产出'o'这可不是构造函数,这实质上scala的一个语言糖,其实是调用了apply()。以上代码相当于
"Hello".apply(4)
关于这个方法我们留到后面讲伴生对象的时候再讲,此处留下悬念。
关于API以及一些工具类
首先scala的API很难读,比起JAVA那真是难读百倍。但是还是要试着去看,有几个小窍门
- 数值类型去RichInt、RichDouble,字符串去StringOps找方法
- 数学操作函数位于scala.math包中
- scala中函数是可以做为参数的
0 0
- Scala学习之一---基础篇
- [scala之一]基础
- Spring学习之一基础篇
- scala基础学习篇(一)
- Scala学习——基础篇1
- scala入门学习(1)基础篇
- scala学习之----基础
- scala学习第一章 基础
- scala学习笔记--基础
- scala语言基础学习
- scala基础学习
- Scala学习(基础)
- Scala基础学习入门
- Scala基础学习
- Scala学习一:基础
- scala基础学习
- Scala学习笔记-基础
- scala语言基础学习
- 前缀式(波兰式)与后缀式(逆波兰式)求解表达式的值,中缀式(一般算数表达式不做讨论)
- Java中的泛型方法
- GoodJob(找工作助手/辅助决策)的帮助
- 关于网页中的meta标签
- 找工作助手GoodJob
- Scala学习之一---基础篇
- Java加密和数字签名编程快速入门
- URAL-1941 Scary Martian Word 队列维护
- android设置全屏
- java中的泛型方法
- learning the shell
- 大数对小数的求余和商
- Spring中使用数据源
- 黑马程序员_C语言之复杂数据类型