Scala快速入门

Posted 赵广陆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala快速入门相关的知识,希望对你有一定的参考价值。


1.为什么使用scala?

开发大数据应用程序(Spark程序、 Flink程序)这个对于笔者占据主要地位
表达能力强, 一行代码抵得上Java多行, 开发速度快
兼容Java, 可以访问庞大的Java类库, 例如: 操作mysql、 redis、 freemarker、 activemq等等

2 scala简介

scala是运行在JVM上的多范式编程语言,同时支持面向对象和面向函数编程

早期,scala刚出现的时候,并没有怎么引起重视,随着Spark和Kafka这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。scala的主要优势是它的表达性

接下来,我们要来学习:

  • 为什么要使用scala?
  • 通过两个案例对比Java语言和scala语言

为什么使用scala

  • 开发大数据应用程序(Spark程序、Flink程序)
  • 表达能力强,一行代码抵得上Java多行,开发速度快
  • 兼容Java,可以访问庞大的Java类库,例如:操作mysql、redis、freemarker、activemq等等

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;
    }
}

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)  		// 商品实体类

3.开发环境安装

学习如何编写scala代码之前,需要先安装scala编译器以及开发工具
在这里插入图片描述

Java程序编译执行流程

Scala程序编译执行流程
在这里插入图片描述

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

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

  • jdk(jvm)
  • scala编译器(scala SDK)

接下来,需要依次安装以下内容:

  • 安装JDK
    java环境搭建:点击跳转
  • 安装scala SDK
  • 安装IDEA插件

安装JDK

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

安装scala SDK

scala SDK是scala语言的编译器,要开发scala程序,必须要先安装SDK

在这里插入图片描述

本次安装的版本是: scala-2.13.6.msi

步骤

  1. 下载、安装SDK
  2. 测试是否安装成功

具体操作

  1. 双击scala-2.13.6.msi,将scala安装在指定目录,例如:c:/opt
  2. 打开控制台,输入scala -version

在这里插入图片描述

在这里插入图片描述

记录位置:在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

安装IDEA scala插件

IDEA默认是不支持scala程序开发,所以需要来安装scala插件来支持scala语言。

步骤

  1. 下载指定版本IDEA scala插件
  2. IDEA配置scala插件
  3. 重新启动IDEA
    在这里插入图片描述

4.scala解释器

后续我们会使用scala解释器来学习scala基本语法,scala解释器像Linux命令一样,执行一条代码,马上就可以让我们看到执行结果,用来测试比较方便。

我们接下来学习:

  • 启动scala解释器
  • 在scala解释器中执行scala代码
  • 退出scala解释器

启动scala解释器

要启动scala解释器,只需要以下几步:

  • 按住windows键 + r
  • 输入scala即可

执行scala代码

在scala的命令提示窗口中输入println("hello, world"),回车执行

在这里插入图片描述

退出解释器

在scala命令提示窗口中执行:quit,即可退出解释器

以上是关于Scala快速入门的主要内容,如果未能解决你的问题,请参考以下文章

Scala快速入门--模式匹配

Scala快速入门--异常处理泛型高阶函数隐式转换

Scala学习之Scala快速入门

Scala快速入门

Scala快速入门--抽象类的使用

Scala学习之路----基础入门