一、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解释器

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.scalaobject 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.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语言概述相关推荐

  1. 【Java开发语言 01】第一章 Java语言概述(基础常识+Java语言概述+Java程序运行机制及运行过程+Java语言环境的搭建+开发体验hello world+错误:编码GBK的不可映射字符)

    java入门-第一章Java语言概述 1基础常识 软件开发 人机交互方式 常用的DOS命令(win系统,有一些直接通过命令执行的) 2 Java语言概述 什么是计算机语言 关于面向对象和面向过程 Ja ...

  2. 【JAVA SE】第一章 Java语言概述、环境变量和HelloWorld

    第一章 Java语言概述.环境变量和HelloWorld 文章目录 第一章 Java语言概述.环境变量和HelloWorld 一.Java语言概述 1.Java简介 2.Java发展历史 3.Java ...

  3. c语言i=5.6a=(int)i,第一章C语言概述.ppt

    <第一章C语言概述.ppt>由会员分享,可在线阅读,更多相关<第一章C语言概述.ppt(35页珍藏版)>请在人人文库网上搜索. 1.C语言程序设计,课程安排和理论教学:(419 ...

  4. [转载] 《python程序设计应用教程》第一章 python语言概述

    参考链接: Python语言的优势和应用 第一章 python语言概述 1.1 python语言简介 ① 众多的开源的科学计算软件包都提供了python的调用接口,例如:计算机视觉库OpenCV.三维 ...

  5. 第一章 c语言概述程序逻辑,第一章 程序逻辑与C语言概述

    1.第一章 程序逻辑与C语言概述,1.1 C语言概述1.2 程序和程序逻辑,第一章 程序逻辑与C语言概述,1.1 C语言概述,[学习目标]了解C语言工作机制掌握C语言程序的的基本构成了解C语言程序的编 ...

  6. windows核心编程-第一章 对程序错误的处理

    第一章-对程序错误的处理 在开始介绍Microsoft Windows 的特性之前,必须首先了解 Wi n d o w s的各个函数是如何进行错误处理的. 当调用一个Wi n d o w s函数时,它 ...

  7. Widows核心编程第一章:错误处理

    Windows API同linux一样, 在返回值的基础上可以通过错误码确认具体的程序错误原因.当一个 Windows 函数检测到错误时,它会使用一个名为"线程本地存储区" (th ...

  8. java第一章Java语言概述和入门程序

    文章目录 Java课程简介 1.1 Java概述(Java的发展) 1.2 Java 的特点 不依赖平台 1.3 java软件平台安装和配置 java程序开发 含有psvm的是主类 入口 java类默 ...

  9. 关于java是最好的语言的段子_疯狂java——第一章 java语言概述与开发环境

    J2ME: 主要用于控制移动设备和信息家电等有限存储的设备. J2SE: 整个java技术的核心和基础,它是J2ME和J2EE编程的基础. J2EE: Java技术中应用最广泛的部分,J2EE提供了企 ...

最新文章

  1. Windows Server 2008 R2 活动目录服务部署 (一)
  2. 正则表达式的威力--轻松消除HTML代码
  3. 微信小程序,用户拒绝授权后重新授权;uni-app小程序,用户拒绝授权后点击无效;重新进入后拉起位置授权框;
  4. S3C2440_MMU
  5. 老年人计算机应用基础,国开电大老年心理健康作业一参考答案
  6. 10-05 Java 内部类概述和讲解
  7. python路径怎么查看_:怎么查看python的安装路径
  8. hdu1385 最短路字典序
  9. 工作周记 - 第四周 (2016/06/12 - 2016/06/18) 我没喝多,但是今天话多了 - -
  10. 彭怀湘:金融与大数据相约互联网+时代
  11. 温故知新----css盒模型
  12. AP聚类算法(Affinity propagation Clustering Algorithm )
  13. CVE-2019-0708 微软补丁更新
  14. win7硬盘分区软件_系统软件
  15. PR缩放转场 视频缩放特效转场过渡效果PR预设
  16. mysql 1032 1062_MySQL 主从复制 ERROR-1032
  17. 苹果 AirPods 或改用 USB-C 接口,AirPods 最有用的功能就是Find My
  18. 十分详细的阳光十六法则 (转)
  19. 武汉科技大学java题库答案_武汉科技大学 java实验报告 实验二
  20. 旅游类APP原型模板分享——爱彼迎

热门文章

  1. html2canvas边框无法渲染,html2canvas无法正常渲染特定的数据URI
  2. 面向Web的数据挖掘
  3. Mysql5.7卸载
  4. 基于ssm java健身俱乐部网站
  5. Wine QQ 安装等问题
  6. hadoop配置、运行错误总结[二]
  7. ABEY基金会已于2021年5月25-26日参展AIBC 2021迪拜峰会
  8. sed 首行加一行,末尾加一行
  9. html在线表单生成,一种基于html5的在线表单设计系统的制作方法
  10. Maven仓库管理器Nexus的安装配置