Scala--基础入门
这是Scala
系列的第一篇博客,后面会持续更新Scala系列以及Spark
等,希望和大家一起学习和探讨。
- 本篇博客主要讲解:
- Scala的简介和安装
- Scala的变量定义
- 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
“界面,:1
2
3
4C:\Users\Administrator>scala
Welcome to Scala version 2.11.7 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_80).
Type in expressions to have them evaluated.
Type :help for more information.在“
Repl
”界面我们就可以进行一些简单的计算和操作。每一次都会返回一个结果
,如下图所示:1
2
3
4
5
6
7
8scala> 7+12 #数字相加返回int
res0: Int = 19
scala> res0*3.5 #自动识别结果为Double
res1: Double = 66.5
scala> res1+" Hello Word " #自动识别结果为String
res2: String = "66.5 Hello Word "
- 进行简单计算,7+12:
res0:Int=19
(该信息体现了参数的定义,只是省略了val)。然后我们就可以通过参数名res0使用该值,例如:res0*0.35,如上图所示。res0 ( res1, res2, … ) #为返回值名称
Int ( Double, String, … ) #为返回值类型
变量定义
变量定义:
val|var 参数名:参数类型=参数值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16scala> var msg3:String = "Hello" #定义一个变量
msg3: String = Hello
scala> val msg4 = "Word"
msg4: String = Word
scala> msg4 = "Word!" #val的变量不能被改变
<console>:8: error: reassignment to val
msg4 = "Word!"
^
scala> println(msg3+msg4)
HelloWord
scala> println(msg3+ " " +msg4)
Hello WordScala有两种声明变量的方式:
var
和val
val,类是于Java中的final变量
,一旦初始化就不能修改,例如上图中msg4。var,声明的变量就可以多次被赋值
,scala建议声明为val。在声明变量时也可以不指定类型,scala自己会进行
类型推断
,判断出“Word”为String类型(java.lang.String)。懒值
,当val被声明为lazy时。它的初始化将被推迟,直到我们首次使用它,eg: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等
。1
2
3
4
5
6
7
8scala> val a:Int = 55
a: Int = 55
scala> a.toChar
res3: Char = 7
scala> a.toString
res4: String = 55
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!