Scala介绍与环境搭建

Scala环境搭建与介绍

一、Scala环境搭建
1、环境准备与下载
2、验证Scala
3、IDEA新建项目,配置Scala,运行Hello world
二、Scala介绍
1、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即可自动补全

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/505385.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录|Day29|贪心04|860.柠檬水找零、406.根据身高重建队列、452.用最少数量的箭引爆气球

860.柠檬水找零 我们维护三种金额的数量:five,ten,twenty 有如下三种情况: 账单是5:five 1,无需找零账单是10:ten 1,找零一张5元(five - 1)账单是20&#x…

Eclipse EMF教程(上)

What every Eclipse developer should know about EMF 翻译自:https://eclipsesource.com/blogs/tutorials/emf-tutorial/ 本教程是对EMF的介绍,解释了EMF的基础知识。我们首先向您展示如何基于EMF构建一个非常简单的以数据为中心的应用程序&#xff0c…

MES_ENT_STD

生产执行系统(企业标准版)MES_ENT_STD ERP_ENT_STD_59438.ieqq.ent-CSDN博客 OAMS_ENT_STD-CSDN博客

分类预测 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积长短期记忆网络多输入分类预测

分类预测 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积长短期记忆网络多输入分类预测 目录 分类预测 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积长短期记忆网络多输入分类预测效果一览基本介绍模型搭建程序设计参考资料 效果一览 基本介绍 MATLAB实现BO-CNN-LSTM贝叶斯优化卷积长短期记…

主干网络篇 | 利用RT-DETR模型主干HGNet去替换YOLOv8的主干

前言:Hello大家好,我是小哥谈。众所周知,实时目标检测(Real-Time Object Detection)一直被YOLO系列检测器统治着,YOLO版本更是炒到了v9,前段时间百度飞桨的PaddleDetection团队发布了一个名为RT-DETR的检测器,宣告其推翻了YOLO对实时检测领域统治。论文标题很直接:《D…

WPF上使用MaterialDesign框架---下载与配置

一、介绍: Material Design语言的一些重要功能包括 系统字体Roboto的升级版本 ,同时颜色更鲜艳,动画效果更突出。杜拉特还简要谈到了新框架的一些变化。谷歌的想法是让谷歌平台上的开发者掌握这个新框架,从而让所有应用就有统一的…

Python 常用内置库 time库、random库、turtle库

文章目录 一、time库二、random库三、turtle库1. 绘制正方形2. 使用海龟对象绘制六边形3. 绘制多个起点相同大小不同起点的五角星4. 绘制多个图形和添加文字 提示:以下是本篇文章正文内容,下面案例可供参考 一、time库 time是最基础的时间处理库&#…

CAJViewer7.3 下载地址及安装教程

CAJViewer是中国学术期刊(CAJ)全文数据库的专用阅读软件。CAJViewer是中国知识资源总库(CNKI)开发的一款软件,旨在方便用户在线阅读和下载CAJ数据库中的学术论文、期刊和会议论文等文献资源。 CAJViewer具有直观的界面…

Kubernetes之Projected Volume

目录 四种Projected Volume Secret 使用方法 应用场景 示例 ConfigMap 使用方法 应用场景 示例 Downward API 使用方法 应用场景 示例 ServiceAccountToken 使用方法 应用场景 示例 在 Kubernetes 中,有几类特殊的 Volume,它们存在的意义不是为了存放容器里的…

深入探索位图技术:原理及应用

文章目录 一、引言二、位图(Bitset)基础知识1、位图的概念2、位图的表示3、位图操作 三、位图的应用场景1、数据查找与存储2、数据去重与排序 四、位图的实现 一、引言 位图,以其高效、简洁的特性在数据处理、存储和检索等多个领域发挥着举足…

抽象类和接口的简单认识

目录 一、抽象类 1.什么是抽象类 2.抽象类的注意事项 3.抽象类与普通类的对比 二、接口 1.接口的简单使用 2.接口的特性 3.接口的使用案例 4.接口和抽象类的异同 一、抽象类 所谓抽象类,就是更加抽象的类,也就是说,这个类不能具体描…

文献学习-23-MRM:用于遗传学医学图像预训练的掩码关系建模

MRM: Masked Relation Modeling for Medical Image Pre-Training with Genetics Authors: Qiushi Yang, Wuyang Li, Baopu Li, Yixuan Yuan Source: ICCV 2023 Abstract: 关于自动多模态医疗诊断的 ODERN 深度学习技术依赖于大量的专家注释,这既耗时又令人望而却…

【KingSCADA】播放语音

1.函数介绍 PlaySound(string strWaveFileName, int nMode);下面是官方帮助文档中的解释: 2.生成语音文件 3.使用脚本播放音频文件 将音频文件存放在工程目录下面,我存放在了…\Resources\文件夹下: 我简单的写了一个定时1分钟播放一次语…

【MATLAB源码-第23期】基于matlab的短时傅里叶STFT信号变换仿真,得到信号的时频曲线图。

操作环境: MATLAB 2022a 1、算法描述 短时傅里叶变换(Short-Time Fourier Transform,STFT)是傅里叶变换的一种扩展,用于分析信号在时域和频域上的变化。描述如下: 1. **时域与频域分析**: …

使用 Seq2Seq 模型进行文本摘要

目录 引言 1 导入数据集 2 清洗数据集 3 确定允许的最大序列长度 4 选择合理的文本和摘要 5 对文本进行标记 6 删除空文本和摘要 7 构建模型 7.1 编码器 7.2 解码器 8 训练模型 9 测试模型 10 注意 11 整体代码 引言 文本摘要是指在捕捉其本质的同时缩短长文本的…

windows平台虚拟机安装

windows平台虚拟机安装 1. 安装VMwareWorkstationPro 1.1 软件下载 官网下载 官网 百度网盘下载 版本 VMwareWorkstationPro16 链接:https://pan.baidu.com/s/1LidMxoM9e4a4CANixyRoyg?pwd1157 提取码:1157 1.2 软件安装 软件安装注意事项 软件…

Mamba和状态空间模型(SSM)的视觉指南:替代 Transformers 的语言建模方法

原文地址: A Visual Guide to Mamba and State Space Models 2024 年 2 月 19 日 论文地址:https://arxiv.org/pdf/2312.00752.pdf 这篇论文介绍了一种新型的线性时间序列模型Mamba,它通过选择性状态空间(Selective State Space…

详解CAS(Compare and swap)

一、什么是 CAS CAS: 全称Compare and swap,字⾯意思:”⽐较并交换“,⼀个 CAS 涉及到以下操作: 我们假设内存中的原数据V,旧的预期值A,需要修改的新值B。 比较 A 与 V 是否相等。(⽐较) 如果…

【A-013】基于SSH的共享单车管理系统/共享单车出租系统

【A-013】基于SSH的共享单车管理系统/共享单车出租系统 开发环境: Eclipse/MyEclipse、Tomcat8、Jdk1.8 数据库: MySQL 适用于: 课程设计,毕业设计,学习等等 系统介绍: 基于SSH开发的共享单车管理系统/…

python mysql错误如何处理

错误代码类型:pymysql.err.InternalError: (1054, "Unknown column jack in field list") import pymysql d_mysql {host: 127.0.0.1, port: 33333,user: *****,password: *****,db: *****,charset: utf8} conn pymysql.connect(**d_mysql) cur co…