一、Scala语言解释
1.什么是Scala语言
- Spark—新一代内存级大数据计算框架,是大数据的重要内容。
- Spark就是使用Scala编写的。因此为了更好的学习Spark, 需要掌握Scala这门语言。
- Scala 是 Scalable Language 的简写,是一门多范式(范式/编程方式[面向对象/函数式编程])的编程语言 联邦理工学院洛桑(EPFL)的Martin Odersky于2001年开始设计Scala
- Spark的兴起,带动Scala语言的发展!
2.Scala语言诞生的小故事
创始人马丁·奥德斯基(Martin Odersky)是编译器及编程的狂热爱好者,长时间的编程之后,希望发明一种语言,能够让写程序这样的基础工作变得高效,简单。所以当接触到JAVA语言后,对JAVA这门便携式,运行在网络,且存在垃圾回收的语言产生了极大的兴趣,所以决定将函数式编程语言的特点融合到JAVA中,由此发明了两种语言(Pizza & Scala) 递归 Pizza和Scala极大地推动了Java编程语言的发展。 jdk5.0 的泛型,for循环增强, 自动类型转换等,都是从Pizza 引入的新特性。 jdk8.0 的类型推断,Lambda表达式就是从scala引入的特性。 且现在主流JVM的javac编译器就是马丁·奥德斯基编写出来的。Jdk5.0 Jdk8.0的编译器就是马丁·奥德斯基写的,因此马丁·奥德斯基 一个人的战斗力抵得上一个Java开发团队。
3.Scala语言的特点
- Scala是一门以java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起 的静态类型编程语言。
- Scala 是一门多范式 (multi-paradigm) 的编程语言,Scala支持面向对象和函数式编程 Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接。
- scala 单作为一门语言来看, 非常的简洁高效 (三元运算, ++ , --)
- Scala 在设计时,马丁·奥德斯基 是参考了Java的设计思想,可以说Scala是源于java,同时马丁·奥德斯基 也加入了自己的思想,将函数式编程语言的特点融合到JAVA中, 因此,对于学习过Java的同学,只要在学习Scala的过程中,搞清楚Scala 和 java相同点和不同点,就可以快速的掌握Scala这门语言
4. 快速有效掌握Scala的建议
(1) 学习scala 特有的语法
(2) 搞清楚 scala 和java 区别
(3) 如何规范的使用scala
二、Scala开发环境搭建
1.安装配置
- Scala需要Java运行时库,安装Scala需要首先安装JVM虚拟机并配置好,推荐安装JDK1.8
- 在http://www.scala-lang/ 下载Scala2.11.8程序安装包
- 配置Jdk的环境变量
- 配置SCALA_HOME SCALA_HOME= D:\program\scala-2.11.8 将Scala安装目录下的bin目录加入到PATH环境变量
- 在PATH变量中添加:%SCALA_HOME%\bin
- 在终端中输入“scala”命令打开scala解释器
2.Scala的REPL
(1)介绍
上面打开的scala命令行窗口,我们称之为REPL,是指:Read->Evaluation->Print->Loop,也称之为交互式解释器。
(2)说明
在命令行窗口中输入scala指令代码时,解释器会读取指令代码(R)并计算对应的值(E),然后将结果打印出来(P),接着循环等待用户输入指令(L)。 从技术上讲,这里其实并不是一个解释器,而是指令代码被快速的编译成Java字节码并被JVM加载执行。最终将执行结果输出到命令行中
3.Scala的开发工具
IDEA介绍: IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也 可用于其他语言),IntelliJ在业界被公认为最好的java开发工 具之一。IDEA是JetBrains公司的产品,这家公司总部位于捷 克共和国的首都布拉格。
- java开发工具很多,比如netbean,eclipse等等,单开发Scala可选的工具不多,主要使用IDEA
- Idea工具开发Scala的快捷键也不是很多,所以使用相对比较简单
- IDEA不是专门用于开发Scala的IDE,但是确是最适合开发Scala的工具,因为在我们实际工作中,大部分是开发项目,而大数据项目不可避免的会使用到Java, 所以会进行Java 和 Scala 两种语言的混合编程。 而Idea 可以很好的支持Java和Scala的开发。
三、Scala快速入门开发
1..案例驱动:要求开发一个Hello.scala 程序,可以输出 “hello,Scala“
package com.zpark.scala
object Hi {
def main(args: Array[String]): Unit = {
print("hello scala");
}
}
2.Scala执行流程分析
3.Scala程序开发注意事项
- Scala源文件以 “.scala" 为扩展名。
- Scala程序的执行入口是main()函数。
- Scala语言严格区分大小写。
- Scala方法由一条条语句构成,每个语句后不需要分号(Scala语言会在每行后自动加分号),这也体现出Scala的简洁性。
- 如果在同一行有多条语句,除了最后一条语句不需要分号,其它语句需要分号。
4.Scala常用的转义字符(escape char)
- \t :一个制表位,实现对齐的功能
- \n :换行符
- \\ :一个\
- \" :一个"
- \r :一个回车 println("hello\rk");
5.Scala语言输出的三种方式
- 字符串通过+号连接(类似java)。
- printf用法 (类似C语言)字符串通过 % 传值。
- 字符串通过$引用(类似PHP)。
val name = "Scala"
val age = 1
val url = "www.baidu"
println("name=" + name + " age=" + age + " url=" + url)
printf("name=%s, age=%d, url=%s \n", name, age, url)
println(s"name=$name, age=$age, url=$url")
6.Scala源码的查看的关联
- 在使用scala过程中,为了搞清楚scala底层的机制,需要查看源码,下面看看如果关联和查看Scala的源码包
- 查看源码, 选择要查看的方法或者类, 输入 ctrl + b
- 关联源码
7.注释
- 单行注释: 基本格式 格式: //注释文字 应用实例
- 多行注释: 基本格式 格式: /* 注释文字 */ 应用实例
- 文档注释: 注释内容可以被工具 scaladoc 所解析,生成一套以网页文件形式体现的该程序的说明文档
8.正确的缩进和空白
- 使用一次tab操作,实现缩进,默认整体向右边移动,用shift+tab整体向左移
- 或者使用 ctrl + alt + L 来进行格式化 [演示] 运算符两边习惯性各加一个空格。比如:2 + 4 * 5。
- 一行最长不超过80个字符,超过的请使用换行展示,尽量保持格式优雅
更多推荐
Scala核心编程 第一章—Scala语言概述
发布评论