Scala安装配置

文章目录
Scala安装配置
一、Scala简介
1. 概述
1.1 为什么要使用scala?
1.2 Scala 发展历史
1.3 Scala 和 Java 关系
1.4 Scala 语言特点
2. Scala对比Java
案例一
案例二
二、开发环境安装
1. 使用版本
2. Scala执行流程
3. 安装JDK
4. 安装scala SDK
4.1 下载Scala
4.2 安装Scala
5. 测试是否安装成功
6. 安装IDEA scala插件
7. 新建项目
三、scala解释器
1. 启动scala解释器
2. 执行scala代码
3. 退出解释器
四、HelloWorld 案例
1. 创建 IDEA 项目工程
1)打开 IDEA->点击左侧的 Flie->选择 New->选择 Project…
2)创建一个 Maven 工程,并点击 next
3)默认下,Maven 不支持 Scala 的开发,需要引入 Scala 框架。
4)创建项目的源文件目录
5)在 scala 包下,创建包 com.atguigu.chapter01 包名和 Hello 类名
6)编写输出 Hello Scala 案例
2. 代码中语法的简单说明
五、关联 Scala 源码
六、官方编程指南


Scala安装配置
一、Scala简介
1. 概述
Scala(斯嘎拉)这个名字来源于"Scalable Language(可伸缩的语言)",它是一门基于JVM的多范式编程语言,通俗的说:Scala是一种运行在JVM上的函数式的面向对象语言。之所以这样命名,是因为它的设计目标是:随着用户的需求一起成长。Scala可被广泛应用于各种编程任务, 从编写小型的脚本到构建巨型系统,它都能胜任。正因如此, Scala得以提供一些出众的特性, 例如: 它集成了面向对象编程和面向函数式编程的各种特性, 以及更高层的并发模型。

scala是运行在 JVM 上的多范式编程语言,同时支持面向对象和面向函数编程早期,scala刚出现的时候,并没有怎么引起重视,随着Spark和Kafka这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。scala的主要优势是它的表达性。

1.1 为什么要使用scala?
开发大数据应用程序(Spark程序、Flink程序)
表达能力强,一行代码抵得上Java多行,开发速度快
兼容Java,可以访问庞大的Java类库,例如:操作mysql、redis、freemarker、activemq等等
Spark就是使用Scala编写的。因此为了更好的学习Spark, 需要掌握Scala这门语言。
Spark的兴起,带动Scala语言的发展!
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的编辑器就是马丁·奥德斯基写的,因此马丁·奥德斯基一个人的战斗力抵得上一个Java开发团队。

Scala之父

Scala之父是: Martin·Odersky(马丁·奥德斯基), 他是EPFL(瑞士领先的技术大学)编程研究组的教授. 也是Typesafe公司(现已更名为: Lightbend公司)的联合创始人. 他在整个职业生涯中一直不断追求着一个目标:让写程序这样一个基础工作变得高效、简单、且令人愉悦. 他曾经就职于IBM研究院、耶鲁大学、卡尔斯鲁厄大学以及南澳大利亚大学. 在此之前,他在瑞士苏黎世联邦理工学院追随Pascal语言创始人Niklaus Wirth(1984年图灵奖获得者)学习,并于1989年获得博士学位。

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

下面是 Scala和Java及JVM关系图:

1.4 Scala 语言特点
Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言(静态语言需要提前编译的如:Java、c、c++等,动态语言如:js)。

1)Scala是一门多范式的编程语言,Scala支持面向对象和函数式编程。(多范式,就是多种编程方法的意思。有面向过程、面向对象、泛型、函数式四种程序设计方法。)

2)Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接。

3)Scala单作为一门语言来看,非常的简洁高效。

4)Scala在设计时,马丁·奥德斯基是参考了Java的设计思想,可以说Scala是源于Java,同时马丁·奥德斯基也加入了自己的思想,将函数式编程语言的特点融合到JAVA中, 因此,对于学习过Java的同学,只要在学习Scala的过程中,搞清楚Scala和Java相同点和不同点,就可以快速的掌握Scala这门语言。

2. Scala对比Java
下面通过两个案例,分别使用 java 和 scala 实现的代码数量

案例一
定义三个实体类(用户、订单、商品)

Java代码

/**
* 用户实体类
*/
public class User {
    private String name;
    private List<Order> orders;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public List<Order> getOrders() {
        return orders;
    }
    public void setOrders(List<Order> orders) {
        this.orders = orders;
    }
}
/**
* 订单实体类
*/
public class Order {
    private int id;
    private List<Product> products;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public List<Product> getProducts() {
        return products;
    }
    public void setProducts(List<Product> products) {
        this.products = products;
    }
}
/**
* 商品实体类
*/
public class Product {
    private int id;
    private String category;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getCategory() {
        return category;
    }
    public void setCategory(String category) {
        this.category = category;
    }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
scala代码

case class User(var name:String, var orders:List[Order]) // 用户实体类
case class Order(var id:Int, var products:List[Product]) // 订单实体类
case class Product(var id:Int, var category:String) // 商品实体类
1
2
3
案例二
有一个字符串(数字)列表,我们想将该列表中所有的字符串转换为整数。

Java代码

// 创建一个Integer类型的列表
List<Integer> ints = new ArrayList<Integer>();
for (String s : list) {
    ints.add(Integer.parseInt(s));
}
1
2
3
4
5
scala代码

val ints = list.map(s => s.toInt)
1
二、开发环境安装
1. 使用版本
Intellij IDEA 2022.2.3
JDK 17.0.5
scala-sdk-2.11.12
2. Scala执行流程
Java程序编译执行流程

Scala程序编译执行流程

scala程序运行需要依赖于Java类库,必须要有Java运行环境,scala才能正确执行根据

上述流程图,要编译运行scala程序,需要

jdk(jvm)
scala编译器(scala SDK)
接下来,需要依次安装以下内容:

3. 安装JDK
安装JDK 1.8 64位版本,并配置好环境变量。

这里可以参考文章:JDK的使用

4. 安装scala SDK
Scala官网

4.1 下载Scala


4.2 安装Scala
双击鼠标点击安装:

点击下一步:


————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/W_chuanqi/article/details/129133268

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值