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是静态类型语言

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

相关推荐
zhangjw341 小时前
Java基础语法:变量、数据类型与运算符,从原理到实战
java·开发语言
yaoxin5211234 小时前
384. Java IO API - Java 文件复制工具:Copy 示例完整解析
java·开发语言·python
我叫黑大帅4 小时前
通过eino-ext如何正常indexer RAG?
后端·面试·go
NotFound4865 小时前
实战指南如何实现Java Web 拦截机制:Filter 与 Interceptor 深度分享
java·开发语言·前端
Elastic 中国社区官方博客5 小时前
Elasticsearch:快速近似 ES|QL - 第一部分
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索
Ava的硅谷新视界5 小时前
用了一天 Claude Opus 4.7,聊几点真实感受
开发语言·后端·编程
rabbit_pro5 小时前
Python调用onnx模型
开发语言·python
浪客川6 小时前
【百例RUST - 010】字符串
开发语言·后端·rust
龙腾AI白云6 小时前
大模型在天文科研中的应用:天体数据分析
大数据·flask·逻辑回归·pygame
快乐非自愿7 小时前
抛弃传统AI:OpenClaw与Skill重构AI生产力,技术范式不可逆
大数据·人工智能