Scala核心编程 第一章—Scala语言概述

一、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.org/ 下载Scala2.11.8程序安装包
  • 配置Jdk的环境变量
  • 配置SCALA_HOME SCALA_HOME= D:\program\scala-2.11.8 将Scala安装目录下的bin目录加入到PATH环境变量
  • 在PATH变量中添加:%SCALA_HOME%\bin
  • 在终端中输入“scala”命令打开scala解释器

Scala核心编程 第一章—Scala语言概述_第1张图片

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执行流程分析

Scala核心编程 第一章—Scala语言概述_第2张图片

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.com"
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语言概述)