这是Scala
系列的第一篇博客,后面会持续更新Scala系列以及Spark等。本篇博客主要讲解Scala的简介和安装,还有scala的变量定义、变量类型,以及扩展在Intellij IDEA上安装Scala插件。
简介/安装
Scala,是一门运行在JVM上的函数式面向对象语言
,可以很好的兼容java。函数式面向对象语言,也就是说既有像java面向对象语言的特性又有类似于Python函数式语言的特性。下面让我们一起来看看Scala的环境搭建:
1、首先安装一下JDK(略)
2、安装scala,官方下载:http://www.scala-lang.org/download/2.11.0.html;
3、配置好环境变量(略)
配置好后,打开cmd命令窗口,输入scala就进入了友好的scala的”Repl
“界面,如图:
在“Repl”界面我们就可以进行一些简单的计算和操作。每一次都会返回一个结果
,如下图所示:
进行简单计算,7+9:res0:Int=19
(该信息体现了参数的定义,只是省略了val)。然后我们就可以通过参数名res0使用该值,例如:res0*0.35,如上图所示。
res0(res1,res2…) #为返回值名称
Int(Double,String….) #为返回值类型
变量定义
- 变量定义:
val|var 参数名:参数类型=参数值
scala有两种声明变量的方式:var
和val
-
val,类是于Java中的final变量
,一旦初始化就不能修改,例如上图中msg4。 -
var,声明的变量就可以多次被赋值
,scala建议声明为val。 -
在声明变量时也可以不指定类型,scala自己会进行
类型推断
,判断出“Word”为String类型(java.lang.String)。 -
懒值
,当val被声明为lazy时。它的初始化将被推迟,直到我们首次使用它,eg:
1
| lazy val words = scala.io.Source.fromFile("/use/word").mkString
|
变量类型
-
scala中有7种数值类型:
Byte
、Char
、Short
、Int
、Long
、Float
、Double
和Boolean
,这类用法和java的基本类型类似。只是scala这些类型是类
,它不区分引用类型和基本类型; -
对于字符串它使用的
java.lang.String
,但scala也有自己的扩展StringOps
类;其他类型的一些扩展比如,RichInt、RichDouble、RichChar,还有java.math.BigIng、java.math.BigDecimal等; -
基本类型和包装类新之间的转换,这个scala编译器会自动完成,eg:创建一个Int[]数组,最后在虚拟机中得到的是int[];
-
在scala中,数值类型之间的转换不是强制类型转换而是使用
方法
,eg:toInt
、toDouble
、toChar等
。
scala脚本
脚本,就是一些简短的命令组合放在一个文件中,运行脚本就是按顺序执行文件中的语句。比如我们把这两行代码写到script.scala文件中:
然后运行:
args(n) , 就可以接受到后面的参数(这个和java很像,java中main方法args[]同样能接收到)(注意:数组java是”[]”而scala中是”()”)。
扩展-Intellij使用
这里顺便讲一下使用Intellij IDEA
开发scala:
下载安装Intellij IDEA
安装Intellij的scala插件
菜单File—>Settings
输入scala,然后点击右边的install plugin
安装好插件后重启就可以新建项目了,File—>New—>Project,选择scala:
输入项目名,选择项目地址和JDK和scala的SDK,Finish
右键创建一个scala class
,我们这里选择为Object
写一个简单的例子,测试一下,okay!