首页 > 其他分享 >第一章-scala入门

第一章-scala入门

时间:2023-02-12 20:35:32浏览次数:62  
标签:11 入门 Scala scala 第一章 点击 源码 2.12

1 Scala 入门

1.1 概述

1.1.1 为什么学习 Scala

1 Spark— 新一代内存级大数据计算框架,是大数据的重要内容。

2)Spark就是使用Scala编写的。因此为了更好的学习 Spark, 需要掌握 Scala 这门语言

3 Spark 的兴起,带动 Scala 语言的发展!

1.1.2 Scala 发展历史

联邦理工学院的马丁·奥德斯基(Martin Odersky)于2001年开始设计Scala。
马丁·奥德斯基是编译器及编程的狂热爱好者,长时间的编程之后,希望发明一种
语言,能够让写程序这样的基础工作变得高效,简单。所以当接触到JAVA语言后,对
JAVA这门便携式,运行在网络,且存在垃圾回收的语言产生了极大的兴趣,所以决定
将函数式编程语言的特点融合到JAVA中,由此发明了两种语言(Pizza & Scala)。
Pizza和Scala极大地推动了Java编程语言的发展。
⚫ JDK5.0 的泛型、增 强for循 环、自动类型转换等,都是从Pizza引入的新特性。
⚫ JDK8.0 的类型推断、Lambda表达式就是从Scala引入的特性。
JDK5.0和JDK8.0的编辑器就是马丁·奥德斯基写的,因此马丁·奥德斯基一个人的
战

1.1.3 Scala Java 关系

一般来说,学 Scala 的人,都会 Java,而 Scala 是基于 Java 的,因此我们需要将 Scala和 Java 以及 JVM 之间的关系搞清楚,否则学习 Scala 你会蒙圈。

1.1.4 Scala 语言特点

1.2 Scala 环境搭建

1)安装步骤
(1)首先确保 JDK1.8 安装成功
(2)下载对应的 Scala 安装文件 scala-2.12.11.zip
(3)解压 scala-2.12.11.zip,我这里解压到 D:\Tools
(4)配置 Scala 的环境变量

注意 1:解压路径不能有任何中文路径,最好不要有空格。

注意 2:环境变量要大写 SCALA_HOME

2)测试
需求:计算两数 a 和 b 的和。
步骤
(1)在键盘上同时按 win+r 键,并在运行窗口输入 cmd 命令

(2)输入 Scala 并按回车键,启动 Scala 环境。然后定义两个变量,并计算求和。

1.3 Scala 插件安装

默认情况下 IDEA 不支持 Scala 的开发,需要安装 Scala 插件。
1)插件离线安装步骤
(1)建议将该插件 scala-intellij-bin-2017.2.6.zip 文件,放到 Scala 的安装目录
D:\Tools\scala-2.12.11 下,方便管理。
(2)打开 IDEA,在左上角找到 File->在下拉菜单中点击 Setting... ->点击 Plugins->点击
右 下 角 Install plugin from disk… , 找 到 插 件 存 储 路 径
D:\Tools\scala-2.12.11\scala-intellij-bin-2017.2.6.zip,最后点击 ok。

2)插件在线安装(可选)
(1)在搜索插件框里面输入 Scala->点击 Install->点击 ok->点击 apply

1.4 HelloWorld 案例

1.4.1 创建 IDEA 项目工程

1)打开 IDEA->点击左侧的 Flie->选择 New->选择 Proj

2)创建一个 Maven 工程,并点击 next

3)GroupId 输入 com.atguigu->ArtifactId 输入 scala->点击 next->点击 Finish

4)指定项目工作目录空间

5)默认下,Maven 不支持 Scala 的开发,需要引入 Scala 框架。

注意:如果是第一次引入框架,Use libary 看不到,需要选择你的 Scala 安装目录,然后工具就会自动识别,就会显示 user libary。

6)创建项目的源文件目录

右键点击 main 目录->New->点击 Diretory -> 写个名字(比如 scala)。
右键点击 scala 目录->Mark Directory as->选择 Sources root,观察文件夹颜色发生变化。

7)在 scala 包下,创建包 com.atguigu.chapter01 包名和 Hello 类名,

右键点击 scala 目录->New->Package->输入 com.atguigu.chapter01->点击 OK。

右键点击 com.atguigu.chapter01->New->Scala Class->Kind 项选择 Object->Name 项输入

Hello。

8)编写输出 Hello Scala 案例

在类中中输入 main,然后回车可以快速生成 main 方法;
在 main 方法中输入 println("hello scala")

结果说明:

1.4.2 class object 说明

1.4.3 Scala 程序反编译

1)在项目的 target 目录 Hello 文件上点击右键->Show in Explorer->看到 object 底层生成
Hello$.class 和 Hello.class 两个文件
2)采用 Java 反编译工具 jd-gui.exe 反编译代码,将 Hello.class 拖到 jd-gui.exe 页面

1.5 关联 Scala 源码

在使用 Scala 过程中,为了搞清楚 Scala 底层的机制,需要查看源码,下面看看如何关联和查看 Scala 的源码包。

1)查看源码

例如查看 Array 源码。按住 ctrl 键->点击 Array->右上角出现 Attach Soures…

2)关联源码

(1)将我们的源码包 scala-sources-2.12.11.tar.gz 拷贝到 D:\Tools\scala-2.12.11\lib 文件夹

下,并解压为 scala-sources-2.12.11 文件夹

(2)点击 Attach Sources…->选择 D:\Tools\scala-2.12.11\lib\scala-sources-2.12.11,这个

文件夹,就可以看到源码了

1.6 官方编程指南

1)在线查看:https://www.scala-lang.org/

2)离线查看:解压 scala-docs-2.11.8.zip,可以获得 Scala 的 API 操作。

标签:11,入门,Scala,scala,第一章,点击,源码,2.12
From: https://www.cnblogs.com/atao-BigData/p/17114659.html

相关文章

  • 大爽Python入门教程 2-7 *拓展实践,对比与思考
    大爽Python入门公开课教案点击查看教程总目录本文偏难。推荐等第一二三四章上完后,回过来拓展阅读。基础情景思考假设有这样一张成绩表最左边的一列是名字,起名麻......
  • 大爽Python入门教程 2-6 拓展练习
    大爽Python入门公开课教案点击查看教程总目录方位输出第一章有一个思考题,方位变换:小明同学站在平原上,面朝北方,向左转51次之后(每次只转90度),小明面朝哪里?小明转过......
  • PLC入门笔记9
    梯形图电路之电机控制电机直接启动控制电路      电机正反停控制电路  我的图。。        但愿最后说的不要发生吧例如下错了程......
  • Filter过滤器 快速入门
    Filter过滤器举例:饮水机空调 web中的过滤器:当访问服务器的资源时过滤器可以将请求拦截下来完成一些特殊功能过滤器的作用一般用来完成通过的操作如......
  • (数据库系统概论|王珊)第一章绪论-第三节:数据库系统的结构
    ​​pdf下载:密码7281​​​​若图片无法显示请点击:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解​​一:数据库系统模式的概念(1)型和......
  • (数据库系统概论|王珊)第一章绪论-第三节:数据库系统的结构
    pdf下载:密码7281若图片无法显示请点击:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解@目录一:数据库系统模式的概念(1)型和值(2)模......
  • CesiumJS PrimitiveAPI 高级着色入门 - 从参数化几何与 Fabric 材质到着色器 - 上篇
    目录0.基础0.1.坐标系基础0.2.合并批次1.参数化几何1.1.几何类清单1.2.举例1.3.纯手搓几何1.4.*子线程异步生成几何2.使用材质2.1.外观API2.2.材质API2.3.Fa......
  • (数据库系统概论|王珊)第一章绪论-第二节:数据模型
    ​​pdf下载:密码7281​​​​专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解​​一:什么是数据模型数据模型:计算机是不......
  • Java入门
    Java&JDK简介Java是sun公司在1995年开发的一门计算机高级编程语言Java早期被称为Oak(橡树),商标被注册,后期改为Java(印度一个盛产咖啡的小岛)Java的爸爸:JamesGosling2009年......
  • (数据库系统概论|王珊)第一章绪论-第二节:数据模型
    pdf下载:密码7281专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解目录一:什么是数据模型二:两类数据模型(1)概念模......