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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何将python项目转变成deb安装包

先将python项目转变成可执行文件 1. 首先确保你的python项目可以正常执行 2.安装pyinstaller模块&#xff0c;pip install pyinstaller -i Simple Index 3.确定好你的项目的文件入口&#xff0c;也就是运行的文件.py 4. 开始打包成单文件&#xff0c;pyinstaller -F <第…

美团春招内幕揭秘:2024最全面Spring CORS面试题解析,跨域问题大师级指南!

随着现代Web应用越来越多地采用前后端分离的架构&#xff0c;跨域资源共享&#xff08;CORS&#xff09;成为了Web开发中不可或缺的一部分。对于构建复杂、响应迅速的Web应用&#xff0c;了解并正确实施CORS策略是确保应用安全、高效运行的关键。美团&#xff0c;作为中国领先的…

STM32学习笔记(6_7)- TIM定时器的编码器接口原理

无人问津也好&#xff0c;技不如人也罢&#xff0c;都应静下心来&#xff0c;去做该做的事。 最近在学STM32&#xff0c;所以也开贴记录一下主要内容&#xff0c;省的过目即忘。视频教程为江科大&#xff08;改名江协科技&#xff09;&#xff0c;网站jiangxiekeji.com 现在开…

【Java程序设计】【C00374】基于(JavaWeb)Springboot的社区疫情管理系统(有论文)

TOC 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;博客中有上百套程序可供参考&#xff0c;欢迎共同交流学习。 项目简介 项目获取 &#x1f345;文末点击卡片…

教学软件哪个好?这个一站式智慧教学系统值得推荐!

过去培训机构老师授课的场景主要在线下&#xff0c;可以使用大屏幕 PPT 来完成培训的交付&#xff0c;而现在随着数字化基础设施的完善&#xff0c;同时为了尽可能覆盖更多的人&#xff0c;依赖线下的培训场景也逐步转移到线上来完成&#xff0c;因此也对在线教学工具产生了需…

服务器硬件基础知识详解

服务器硬件基础知识涵盖了多个关键组件及其功能&#xff0c;以下是详细的介绍&#xff1a; 一. 处理器&#xff08;CPU&#xff09;&#xff1a; 处理器&#xff08;CPU&#xff0c;Central Processing Unit&#xff09;&#xff0c;即中央处理器&#xff0c;是电子计算机的主…

【前端学习——css篇】3.隐藏元素的方法

https://github.com/febobo/web-interview 3.隐藏元素的方法 diplay:none; 元素在页面消失&#xff0c;并且不占据页面空间 opacity:0; 设置元素透明度&#xff0c;仅元素不可见&#xff0c;占用空间 visibility:hidden; 元素不可见&#xff0c;占据页面空间&#xff0c;无…

如何用OBD创建OceanBase集群

OBD创建集群的方式适用于迅速搭建集群以进行测试工作。但是在涉及线上环境的部署时&#xff0c;推荐采用OCP进行集群的创建与管理。 有关OBD 的一些详细信息&#xff0c;可以去 github 了解&#xff0c;GitHub - oceanbase/obdeploy: A deployer and package manager for Ocea…

东方博宜 1521. 计算分数加减表达式的值

东方博宜 1521. 计算分数加减表达式的值 #include<iostream> #include<iomanip> using namespace std; int main() {double n ;cin >> n ;double sum ;sum 0.0 ;double j ;j 1.0 ;for (int i 1 ; i < n ; i){sum 1.0 / i * j ; j * -1 ;}cout <…

C++进阶学习(3)类类型转换

文章目录 一、类类型转换1.构造函数构造2.类型转换函数 一、类类型转换 数据类型转换在程序编译时或在程序运行实现 基本类型 ←→ 基本类型 基本类型 ←→ 类类型 类类型 ←→ 类类型 类对象的类型转换可由两种方式说明&#xff1a; 构造函数 转换函数 称为用户定义的类型转…

计算机网络01-20

计算机网络01-20 以下是本文参考的资料 欢迎大家查收原版 本版本仅作个人笔记使用1、OSI 的七层模型分别是&#xff1f;各自的功能是什么&#xff1f;2、说一下一次完整的HTTP请求过程包括哪些内容&#xff1f;孤单小弟 —— HTTP真实地址查询 —— DNS指南好帮手 —— 协议栈可…

Docker进阶:Docker Swarm —弹性伸缩调整服务的副本数量

Docker进阶&#xff1a;Docker Swarm —弹性伸缩调整服务的副本数量 1、 创建一个Nginx服务&#xff08;Manager节点&#xff09;2、查看服务状态&#xff08;Manager节点&#xff09;3、测试访问&#xff08;Worker节点&#xff09;4、查看服务日志&#xff08;Manager节点&am…

详解智慧路灯杆网关的集中供电能力

智慧路灯杆网关是智慧杆物联网系统中不可或缺的设备。智慧杆网关不仅可以作为杆载设备与云平台、设备与设备之间的桥梁&#xff0c;促进数据的无缝传输&#xff0c;而且还能提供高效的能源管理和供电功能。 BMG8200系列交流型智慧路灯杆网关就集成了强大的供电能力&#xff0c;…

浅析扩散模型与图像生成【应用篇】(十三)——PITI

13. Pretraining is All You Need for Image-to-Image Translation 该文提出一种基于预训练扩散模型的图像转换方法&#xff0c;称为PITI。其思想并不复杂&#xff0c;就是借鉴现有视觉和NLP领域中常见的预训练方法&#xff0c;考虑预先在一个大规模的任务无关数据集上对扩散模…

nginx学习记录-反向代理

1. 反向代理 一个简单的反向代理示意图如下&#xff1a; 我们的PC需要访问内网资源时&#xff0c;网关路由不直接将请求转发给内网的应用服务器&#xff0c;而是通过nginx服务器进行代理转发&#xff0c;转发到应用服务器上&#xff0c;应用服务器响应请求后会将响应数据再通过…

hdlbits系列verilog解答(Mux256to1v)-64

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 本节我们创建一个 4 位宽、256:1 的多路复用器。256 个 4 位输入全部封装到单个 1024 位输入向量中。sel=0 应选择位 in[3:0] ,sel=1 选择位 in[7:4] ,sel=2 选择位 in[11:8] ,以此类推。 模块声明 module…

AJAX~

概念:AJAX(Asynchronous JavaScript And XML):异步的JavaScript和XML AJAX作用&#xff1a; 1.与服务器进行数据交换:通过AJAX可以给服务器发送请求&#xff0c;并获取服务器响应的数据 使用了AJAX和服务器进行通信&#xff0c;就可以使用HTMLAJAX来替换JSP页面了 2&#xf…

【MATLAB源码-第170期】基于matlab的BP神经网络股票价格预测GUI界面附带详细文档说明。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 基于BP神经网络的股票价格预测是一种利用人工神经网络中的反向传播&#xff08;Backpropagation&#xff0c;简称BP&#xff09;算法来预测股票市场价格变化的技术。这种方法通过模拟人脑的处理方式&#xff0c;尝试捕捉股票…

欧美用户真实反馈!他们为什么选择爱可声助听器?

在竞争激烈的助听器市场上&#xff0c;爱可声助听器在欧美地区赢得了广泛的认可和好评。为什么越来越多的欧美用户选择爱可声助听器呢&#xff1f; 约翰&#xff0c;纽约的退休音乐教师 约翰是一位热爱音乐的退休音乐教师&#xff0c;他的一生都与音乐相伴&#xff0c;从年轻…

前端适配方案

rem 单位实际上既不是响应式布局、也不是流式布局或弹性布局的概念。rem 是一种相对长度单位&#xff0c;它是相对于根元素&#xff08;html 元素&#xff09;的字体大小来计算实际长度的单位。 响应式布局、弹性布局和流式布局是网页设计中常用的三种布局方式&#xff0c;它们…