Scala介绍与环境搭建

Scala环境搭建与介绍

一、Scala环境搭建
1、环境准备与下载
2、验证Scala
[3、IDEA新建项目,配置Scala,运行Hello world](#3、IDEA新建项目,配置Scala,运行Hello world)
二、Scala介绍
[1、Scala 简介](#1、Scala 简介)
[2、Scala 概述](#2、Scala 概述)

一、Scala环境搭建

1、环境准备与下载

  1. JDK1.8

    Java Downloads | Oracle

    下载需求版本(建议1.8)的安装包,配置环境变量,应用即可

  2. Scala

    Scala 2.12.15

    下载需求版本的安装包,配置环境变量

  3. IntelliJ IDEA

    IntelliJ IDEA

    下载习惯用的版本即可 参考博客

2、验证Scala

打开Windows的运行(可用win+R快捷键打开),输入cmd(windows11 鼠标右击即可打开终端)

输入scala进入scala窗口编程,能进入说明安装完成

3、IDEA新建项目,配置Scala,运行Hello world

3.1、下载scala插件,重启IDEA

在设置(Setting) -> 插件(Plugins) 里 搜索scala安装,安装完成后会让你重启IDEA

3.2、新建空模板maven工程

新建空模板maven工程,删除无用的文件目录,新建scala目录将其作为Source Root(颜色会变为蓝色)

3.3、配置Scala SDK

项目结构(Project Structure) -> 全局配置 (Global Libraries) -> 添加scala SDK

找到刚刚下载的scala,应用(Apply)之后点击OK

项目配置一样的操作,添加Scala SDK

3.4、新建运行Hello World

新建Scala Class 选择 Object

hello world 代码,主函数写main即可自动补全

scala 复制代码
object HelloWorld {
  def main(args: Array[String]): Unit = {
    println("hello scala")
  }
}

鼠标右击即可运行

二、Scala介绍

1、Scala 简介

Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的 静态类型编程语言

Scala 源自Java

  • Scala 建立在JVM之上
  • Scala 与java 兼容、互通

Scala的优势

  • 多范式编程:面向对象的编程、函数式编程
  • 表达能力强,代码精简

大数据与Scala

  • Spark采用Scala语言设计
    • 提供的Api更加优雅
    • 基于JVM的语言更融入Hadoop生态圈

2、Scala 概述

面向对象的特性

    • 每个值都是对象'
    • 对象的数据类型和行为有类(Class) 和特征(Trait,类似interface) 描述
    • 利用特征实现混入式多重继承

函数式编程

    • 每个函数都是一个值
    • 支持高阶函数、柯里化(currying)、样例类(case class) 及模式匹配...

Scala是静态类型语言

拓展性:隐式类、字符串插值

相关推荐
万粉变现经纪人2 小时前
如何解决 pip install -r requirements.txt 私有索引未设为 trusted-host 导致拒绝 问题
开发语言·python·scrapy·flask·beautifulsoup·pandas·pip
qq_479875432 小时前
C++ std::Set<std::pair>
开发语言·c++
毕业设计制作和分享2 小时前
springboot150基于springboot的贸易行业crm系统
java·vue.js·spring boot·后端·毕业设计·mybatis
云知谷4 小时前
【C++基本功】C++适合做什么,哪些领域适合哪些领域不适合?
c语言·开发语言·c++·人工智能·团队开发
l1t5 小时前
DeepSeek辅助利用搬移底层xml实现快速编辑xlsx文件的python程序
xml·开发语言·python·xlsx
你的人类朋友6 小时前
【Node】认识multer库
前端·javascript·后端
C_Liu_7 小时前
C++:list
开发语言·c++
my rainy days7 小时前
C++:友元
开发语言·c++·算法
小梁努力敲代码7 小时前
java数据结构--List的介绍
java·开发语言·数据结构
云知谷8 小时前
【HTML】网络数据是如何渲染成HTML网页页面显示的
开发语言·网络·计算机网络·html