验证是否安装成功:
Paste_Image.png
Scala 简介: Scala 是 Scalable Language 的简写,是一门多范式的编程语言
Scala 特性:
Scala是一种纯面向对象的语言,每个值都是对象。对象的数据类型以及行为由类和特质描述。 类抽象机制的扩展有两种途径:一种途径是子类继承,另一种途径是灵活的混入机制。这两种途径能避免多重继承的种种问题。
Scala也是一种函数式语言,其函数也能当成值来使用。Scala提供了轻量级的语法用以定义匿名函数,支持高阶函数,允许嵌套多层函数,并支持柯里化。Scala的case class及其内置的模式匹配相当于函数式编程语言中常用的代数类型。 更进一步,程序员可以利用Scala的模式匹配,编写类似正则表达式的代码处理XML数据。
Scala具备类型系统,通过编译时检查,保证代码的安全性和一致性。类型系统具体支持以下特性:
Scala的设计秉承一项事实,即在实践中,某个领域特定的应用程序开发往往需要特定于该领域的语言扩展。Scala提供了许多独特的语言机制,可以以库的形式轻易无缝添加新的语言结构: 任何方法可用作前缀或后缀操作符 可以根据预期类型自动构造闭包。
Scala使用Actor作为其并发模型,Actor是类似线程的实体,通过邮箱发收消息。Actor可以复用线程,因此可以在程序中可以使用数百万个Actor,而线程只能创建数千个。在2.10之后的版本中,使用Akka作为其默认Actor实现。
第一个程序:
Paste_Image.png
IntelliJ + scala plugin
# 命令式
# 脚本
1480234929057.png
注释:
object HelloWorld {
/* 这是一个 Scala 程序
* 这是一行注释
* 这里演示了多行注释
*/
def main(args: Array[String]) {
// 输出 Hello World
// 这是一个单行注释
println("Hello, world!")
}
}
正则表达式:
import scala.util.matching.Regex
1. String 类的r() 方法构造一个Regex 对象
2. new Regex()
findFirstIn
findAllIn
replaceFirstIn
replaceAllIn
示例:
import scala.util.matching.Regex
val content:String = "I love wen li min 18717711819"
// 方法一
val pattern1 = """(.ove).*?(\d+)""".r
val allIn1 = pattern1.findAllIn(content)
for (pattern1(str,num)<- allIn1)
println(str,num)
println((pattern1 findAllIn content).mkString(","))
// 方法二
val pattern2 = new Regex("""(.ove).*?(\d+)""")
val allIn2 = pattern2.findAllIn(content)
for (pattern2(str, num) <- allIn2)
println(str,num)
println((pattern2 findAllIn content).mkString(","))