《快学scala》学习笔记

笔记的宗旨在于能一句话概括一个章节的各个主体,这一句话是对该主题的理解和实践tricks。好记性不如烂笔头,记下来与大家共同见证学习的历程。

第一章 基础

1.1 scala 解释器

    这是scala运行环境,按照步骤安装后,获得的scala运行环境。

1.2 声明值和变量

    用val声明常量,其值不可变;用var声明变量,其值可变。

1.3 常用类型

    scala有7种数值类型:Byte、Char、Short、Int、Long、Float、Double,以及一个Boolean类型。

说明:在scala中我们用方法,比如:1.toString(),不是强制类型转换,而是来做数值类型之间的转换。

1.4 算术和操作符重载

    算术操作符的使用方式同在c++中方式一样,a + b .其实这里: + - * / % 这些算术操作符号,是一种方法,可以写为a.+(b).

    位操作符 & | ^ >> << ,使用方法同c++。

1.5 关于方法调用

    举个例子:"hello".intersect("world")  //在hello后面插入字符串"world"。

    关于“方法”这个名词,有必要解释一下,什么是方法?方法就是一种功能,在代码中,什么样子的操作或者行为是对方法进行操作的呢?就是点击"."后,会出现很多一列函数之类的“方法”,比如上面的例子中,intersect()就是“方法”。

    在方法的调用的时候,先写出变量,随后".",会出现很多方法,选择你需要的操作方法就好。

    如果方法没有参数,则在方法的后面不需要括号,比如,将int转换为string: 1.toString

规则:如果一个没有参数的方法并不修改对象,那么调用的时候就不用写括号。(类型改变,算修改对象了吗?目前所遇见的情况,表名类型改变,不算是修改对象。后续继续跟进)

1.6 apply方法

    scala中,通常使用类似于函数调用的语法。比如s是一个字符串,那么s(i)就是该字符串的第i个字符。也就是说s(i)等价于s.apply(i)。

1.7 scaladoc

    访问网址:http://scala-lang.org/api,可以在线浏览Scaladoc.浏览文档的时候,注意每个类名旁边的C和O,他们分别连接到对应的类C,或伴生对象O,对于特质(trait),将会看到t和O的标记。

    一、想看数值类型,搜索:RichInt、RichDouble;想看字符串,搜索StringOps。

    二、 数学函数位于scala.math包中,而不是某个类中。

    三、方法可以以函数作为参数。比如s.count(_.isUpper)//清点所有大写字母的数量。    

    四、重点:当你不知道某个“方法”的功能具体是怎样的,怎么办?在scala编译器中试一下就好。

第二章 控制结构与函数

2.1 条件表达式

    在java 或者c++中,表达式有值,比如2+3 ,其值是5;语句(比如if语句)执行动作,不产出值。 在scala中,几乎所有构造出来的语法结构都有值。 if表达式也有值。代码块也有值,其值是最后一个表达式的值。

2.2 语句终止

    

2.3 块表达式

2.4 输入和输出

2.5 循环

2.6 高级for循环

2.7 函数

2.8 默认参数和带名参数

2.9 变长参数

2.10 过程

2.11 懒值

2.12 异常

猜你喜欢

转载自blog.csdn.net/pearl8899/article/details/80723051
今日推荐