时间:2018-07-14
作者:魏文应
一、说明
scala 与 java 的关系
Scala 编译以后,交由Java虚拟机JVM去执行。所以,scala和Java一样,也是 JVM的一门编程语言。所以scala 和 Java 可以进行 无缝互操作,scala可以 任意调用 Java代码。
二、安装配置scala开发环境
系统环境:
- 操作系统:win7 64位
- JAVA 版本:jdk-8u172-windows-x64.exe
安装scala
安装 scala 之前,确保你的电脑安装了 java 8 。进入 scala 官网,下载windows msi 安装包:
https://www.scala-lang.org/
安装完以后,在 cmd 命令行中,我们可以通过 scala -version
,看看是否安装成功:
cmd 命令行终端中,直接输入 scala
并回车,进入 scala,进行代码编写:
使用 :help
查看 帮助 :
使用 :q
, 退出scala 。
三、scala 编程初体验
首先,我们要知道 REPL 这个东西:
REPL : Read(取值) -> Evaluation(求值) -> Print(打印) -> Loop(循环)
scala 解释器也被称为 REPL,会快速编译成 字节码,然后交由 JVM去执行 。
计算表达式
未指定变量来存储计算结果,那么值默认用 res
来存储结果,并在后面指明其类型:
这里 res 其实就是 result
的缩写。res 这个是从0开始的,比如 res0
、res1
、res2
等,依次递增。
scala 自动补全功能
scala代码输入时,可以通过按一下 Tab键 进行自动补全:
使用 val 声明一个变量
使用 val
声明的变量,是一个常量,在常量定义赋值以后,其值就 不能改变 了:
val result = 1
如果给 val 常量赋值,则会报错:
提示:如果值是不需要改变的,尽量将值声明为val变量,而不是var,目的是防止数据被意外改变,导致程序错误。
使用 var 声明一个变量
使用 var 声明一个变量,定义以后,可以进行赋值操作:
var result = 1
可以对 var 变量进行赋值:
指定变量类型
scala 可以自动指定变量类型,我们也显式指定,比如指定 name 这个变量的变量类型为 String类型:
val name:String = 1
同时声明多个变量
可以在一行代码中,声明多个变量。比如下面声明了两个类型为 String 类型、名称为 name1 和 name2 的变量:
val name1, name2: String = null
基本数据类型
scala 基本数据类型:Byte
、 Short
、 Char
、 Int
、 Long
、 Float
、 Double
、 Boolean
。
事实上,scala 没有基本数据类型和包装类型的概念,统一都是 类 。scala 自己会负责 基本数据类型和引用数据类型的转换操作。使用上面类型,可以使用大量 函数。比如:
/* 变量类型 */
1.toString()
/* 相当于 1 + 10 */
1.+(10)
/* 限定变量范围1到10 */
1.to(10)
scala 操作符
scala 支持常规的操作符:
符号 | 功能 |
---|---|
+ - * / |
加、减、乘、除 |
& | ^ |
与、或、非 |
+= -= |
加等于、减等于 |
注意:scala 没有 ++
和 --
这两个运算符。
函数调用
比如,我们使用scala自带的数学函数库 scala.math
里面的函数:
构造类的对象
我们可以这样构造类的对象 类名.apply()
,而不是使用传统的 Java 里 new 类名()
。比如:
"Hello World"(6)
上面写法,相当于下面写法的 缩写 :
"Hello World".apply(6)
再比如,创建一个数组:
Array(1, 2, 3, 4)
/* 相当于 */
Array.apply(1, 2, 3, 4)