Scala学习笔记(1)-快速起步

2019-02-01  本文已影响0人  我是老薛

本文是对Scala语言的一个基本介绍和快速入门,共包括如下章节:

参考资料:因为Scala源码是编译成Java字节码,然后在jvm中执行。并且scala和java可以相互无缝调用。因此scala语言和java语言有天然的关系,语法也比较类似,所以熟悉JAVA语言对理解Scala语言有很大帮助。

一、概述

Scala是当前热门的现代编程语言之一,尤其在大数据领域,如spark,kafka等大数据技术的而核心代码都是使用Scala语言编写的。scala由洛桑联邦理工学院的Martin Odersky设计,第一个版本发布于2003年,现在最新版本为2.12版本。

Scala语言有如下一些主要的特性:

二、安装scala

从官方网站www.scala-lang.org/download下载二进制版本,如下图所示:

如果要在window下安装,下载windows下的安装包 scala-2.12.8.msi,下载到本地后,双击运行安装即可。安装完成后,安装程序会将scala安装目录下的bin目录加入到Path环境变量中,这样可在dos命令行下的任何当前目录下运行bin目录下的可执行脚本或程序。

如果要在Linux下安装,下载scala-2.12.8.tgz,下载到本地后解压即可,然后解压目录下的bin目录加入到PATH环境变量中,便于任何当前目录下都可运行bin目录下的可执行脚本或程序。

三、交互式命令行工具

scala提供了一个交互式命令行脚本(linux下文件名为scala,windows下文件名为scala.bat),可以快速的来简单学习scala的语法知识。

打开命令行,运行scala,出现交互式界面,就可以输入代码,输入:quit退出交互式程序(注意quit前要有冒号)。

C:\Windows\System32>scala
Welcome to Scala 2.12.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_40).
Type in expressions for evaluation. Or try :help.

scala> println("hello,world")
hello,world

scala> :quit

C:\Windows\System32>

四、文件方式

交互式命令行只是用来进行编程练习的。实际的应用开发中,源代码是保存在文件中的,然后进行源代码编译,再运行。scala提供了一个脚本文件scalac(windows下为scalac.bat)可以进行源代码的编译,将源文件编译成class文件,然后可以利用scala脚本来运行。下面通过一个简单的例子来举例。

建立一个源码文件,文件名如HelloWorld.scala保存到本地,scala的源文件的扩展名为scala。文件内容如下:

object HelloWorld {
   def main(args: Array[String]) {
      println("Hello, world!")
   }
}

上面代码虽少,但是一个完整的可独立运行的scala应用程序。一个独立运行的scala应用程序的入口是一个单例对象(如上面用object关键字定义的HelloWorld对象)的main方法(如上面用def关键字定的方法),类似java中的main方法的入口。更详细的scala语法参见《Scala学习笔记(2)-基础语法》。

下面对源代码文件进行编译,并运行,整个过程如下:

D:\scaladev\demo>ls
HelloWorld.scala

D:\scaladev\demo>scalac HelloWorld.scala

D:\scaladev\demo>ls
'HelloWorld$.class'   HelloWorld.class   HelloWorld.scala

D:\scaladev\demo>scala HelloWorld
Hello, world!

编译用到scala的scalac程序,类似jdk中的javac,运行使用scala程序,类似jdk中的java程序。

需要特别说明的是,scala是一个纯面向对象的编程语言,在编写scala程序时,所有的语句(如函数定义、变量声明和赋值)都必须被包含在类或单例对象中。我们前面看到在scala提供的交互式命令行程序中可以直接输入语句(并没有定义类)进行执行,是因为命令行程序已经做了特殊的处理。

五、基本语法规范

六、开发工具

可以有多种方式来编写scala程序,在正式项目开发中我们一般使用可视化的IDE工具,如IntelliJ。如果是学习scala的语法和相关的api,也可以使用scala提供的命令行工具(如前面介绍的),或不需要任何工具直接使用一些在线的编程练习系统。

(一)使用带有Scala插件的IntelliJ IDE

object Hello {
   def main(args: Array[String]) {
      println("Hello, world!")
   }
}

在左侧的“ 项目”窗格上,右键单击Hello节点并选择Run'Hello'。
或在选中Hello节点,按快捷键 ctrl+shift+F10 可运行程序。

(二)使用SBT

sbt是类似ANT、MAVEN的构建工具,全称为Simple build tool,是Scala事实上的标准构建工具。其主要特性有:

当安装配置好后SBT后,我们可以在命令行下使用SBT,也可以在IntelliJ中使用SBT。关于SBT的详细信息我们不在本文中介绍。

七、小结

本文并没有对scala的语法进行详细介绍,主要是介绍scala运行环境和开发工具的搭建。下面的文章是对scala语言的更多介绍。

1、《Scala学习笔记(2)-基础语法》
2、《Scala学习笔记(3)-面向对象编程上篇》
3、《Scala学习笔记(4)-面向对象编程下篇》
4、《Scala学习笔记(5)-函数式编程》

上一篇 下一篇

猜你喜欢

热点阅读