Scala 是 Scalable Language 的简写,意味着这种语言设计上支持大规模软件开发,是一门多范式的编程语言Scala 语言是由 Martin Odersky 等人在 2003 年开发的,并于 2004 年首次发布。Scala 运行于 Java 平台(Java 虚拟机),并兼容现有的 Java 程序。Scala 的编译模型(独立编译,动态类加载)与 Java 和 C#(c++++) 一样,所以 Scala 代码可以调用 Java 类库(对于.NET实现则可调用.NET类库)。
Scala语言特性
1.面向对象性:支持类和对象,继承和多态,抽象类和特质,封装。
2.函数式编程特性:支持高级函数,不可变形,模式匹配,闭包。
3.类型系统:支持泛型类,类型推断,类型安全性和一致性。
4.扩展性:支持领域特定语言扩展,方法可用作前缀或后缀,自动构成闭包。
5.并发性:支持 AKA框架、Future、并发集合,适用于构建并发分布式和容错应用程序。
6.强大的标准库:集合框架: 提供丰富的不可变和可变集合类,如List、Set、Map等。
字符串处理: 提供强大的字符串操作和正则表达式支持。
IO操作: 支持文件和网络IO操作。
Scala与Java的对比
Scala语言代码更简洁,开发速度更快。
Scala语言可以无缝调用 Java 代码,并使用 Java 标准库和框架。
Scala语言的表达能力强,一行代码可以抵得上Java 的多行代码。
Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的。
Scala基本语法
1.区分大小写:标识符、类名、方法名、变量名等都需要区分大小写。
2.类名和方法名:类名的第一个字母大写,方法名的第一个字母小写,多个单词时每个单词的首字母大写。
3.程序文件名:必须与对象名称完全匹配,并追加.scala扩展名。(如果文件名和对象名称不匹配,程序将无法编译)。
4.主函数:程序从 main 方法开始处理,类似于 Pythop中的主函数。
5.标识符:可以以字母或下划线开头,后续可以接字母或数字,避免使用$开头的标识符。
关键字
下表列出了 scala 保留关键字,我们不能使用以下关键字作为变量:
Scala 注释
Scala 类似 Java 支持单行和多行注释。多行注释可以嵌套,但必须正确嵌套,一个注释开始符号对应一个结束符号。注释在 Scala 编译中会被忽略,实例如下:
空行、空格和换行符
一行中只有空格或注释会被忽略。语句可用空格或注释分割,换行符和分号都可结束语句,分行写多个语句时需分号分隔,一行一个语句可不加分号。
包的定义和引用
定义包可用“package”关键字,有在文件头定义和类似 city 的方式两种,推荐后者可在文件夹中定义多个包。引用包用"impot"关键字,可出现在任何地方,效果延伸至语句块结束,能减少名称中突可能,但要尽量避免变量名与包名、类名相同以保证唯一性。
交互式编程和脚本形式
Scala 支持交互式编程,可以通过命令行直接计算和输出结果。
脚本形式的代码可以在 IDEA中创建和运行,生成.class 文件并执行。