当前位置: 首页 > news >正文

IDEA的Scala环境搭建

目录

前言

Scala的概述

Scala环境的搭建

一、配置Windows的JAVA环境

二、配置Windows的Scala环境

编写一个Scala程序


前言

 学习Scala最好先掌握Java基础及高级部分知识,文章正文中会提到Scala与Java的联系,简单来讲Scala好比是Java的加强版,因为Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言(静态语言需要提前编译的如:Java、c、c++等,动态语言如:js)。

Scala的概述

第一个问题肯定是,scala是什么

Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的 静态类型编程语言(静态语言需要提前编译的如:Java、c、c++等,动态语言如:js)。

  1. Scala是一门多范式的编程语言,Scala支持面向对象和函数式编程。(多范式,就是多种编程方 法的意思。有面向过程、面向对象、泛型、函数式四种程序设计方法。)
  2. Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有 的Java类库,实现两种语言的无缝对接。
  3. Scala单作为一门语言来看,非常的简洁高效。
  4. Scala在设计时,马丁·奥德斯基是参考了Java的设计思想,可以说Scala是源于Java,同时马丁·奥 德斯基也加入了自己的思想,将函数式编程语言的特点融合到JAVA中, 因此,对于学习过Java的同学, 只要在学习Scala的过程中,搞清楚Scala和Java相同点和不同点,就可以快速的掌握Scala这门语言。

Scala环境的搭建

一、配置Windows的JAVA环境

步骤一:

先下载,windows版本java安装包(要与Linux版本的区分开来

https://www.oracle.com/java/technologies/downloads/#java8-windowsicon-default.png?t=N7T8https://www.oracle.com/java/technologies/downloads/#java8-windows

步骤二:

安装java包,选择你要放的路径(方便后面配置java环境)

步骤三:

点击“设置→系统→(划到最下面)系统信息→高级系统设置→环境变量”

步骤四:

点击”新建→输入变量名→输入变量值(安装路径)“

步骤五:

双击“(已经存在的)Path→添加执行环境”

步骤六:

”win+r“之后输入cmd进入命令行模式

向图中一样就算成功了

二、配置Windows的Scala环境

步骤一:

先下载,windows版本scala安装包(要与Linux版本的区分开来)

https://www.scala-lang.org/download/2.12.15.htmlicon-default.png?t=N7T8https://www.scala-lang.org/download/2.12.15.html

步骤二:

安装scala包,选择你要放的路径(方便后面配置java环境)

步骤三:

点击“设置→系统→(划到最下面)系统信息→高级系统设置→环境变量”

步骤四:

点击”新建→输入变量名→输入变量值(安装路径)“

步骤五:

双击“(已经存在的)Path→添加执行环境”

步骤六:

”win+r“之后输入cmd进入命令行模式

向图中一样就算成功了

编写一个Scala程序

步骤一:

使用IDEA创建maven工程,“File --> new --> Project”

步骤二:

选择创建Maven项目,选择自己的JDK,点击“NEXT”进入下一步:

步骤三:

输入项目名,项目存放的路径

项目创建好后,如下图所示:

步骤四:

安装scala插件,“File --> Settings --> Plugins --> 搜索Scala即可”

如果网络不稳定,或者网络慢,可能会导致安装失败,或者花费很长很长时间,所以我们也可以自己在官网上安装,然后选择“在磁盘中导入”也可以

https://plugins.jetbrains.com/plugin/1347-scala/versionsicon-default.png?t=N7T8https://plugins.jetbrains.com/plugin/1347-scala/versions找到自己idea版本对应的scala版本下载

下载好以后,在idea中导入插件,“File → Settings → Plugins→ 点击旁边的设置按钮的图标

→‘Install Plugin from Disk’”导入下载的插件即可

步骤五:

创建scala文件前需要添加Scala框架

项目右键 → Add Frameworks Support → 勾选Scala即可(在最底下,往下滑)

步骤六:

创建scala文件

步骤七:

写入代码

object HelloWorld {def main(args: Array[String]): Unit = {println("Hello World")}
}

步骤八:

运行结果,第一次会慢点,因为他需要编译的新项目里的各种文件依赖等等

相关文章:

IDEA的Scala环境搭建

目录 前言 Scala的概述 Scala环境的搭建 一、配置Windows的JAVA环境 二、配置Windows的Scala环境 编写一个Scala程序 前言 学习Scala最好先掌握Java基础及高级部分知识,文章正文中会提到Scala与Java的联系,简单来讲Scala好比是Java的加强版&#x…...

LeetCode第四天(448. 找到所有数组中消失的数字)

给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。 官解: 方法一:原地修改 思路及解法 我们可以用一个哈希表记录数组 nums 中…...

【vivado】在原有工程上新建工程

一、前言 在工作中,我们经常需要接触到别人的工程,并在别人的工程上新加设计功能,此时我们需要以别人工程为基础新建工程。 二、在已有工程上新建工程的方法 2.1 vivado 页面file-project-save as... 该方法的优点为:可以直接…...

(原型与原型链)前端八股文修炼Day5

一 原型链的理解 原型链定义: 原型链是 JavaScript 中实现对象继承的关键机制之一,它是一种对象之间的关系,通过这种关系,一个对象可以继承另一个对象的属性和方法。 原型链的组成: 每个对象都有一个指向另一个对象的…...

逐步学习Go-并发通道chan(channel)

概述 Go的Routines并发模型是基于CSP,如果你看过七周七并发,那么你应该了解。 什么是CSP? "Communicating Sequential Processes"(CSP)这个词组的含义来自其英文直译以及在计算机科学中的使用环境。 CSP…...

鸿蒙HarmonyOS应用开发之Node-API开发规范

当传入napi_get_cb_info的argv不为nullptr时,argv的长度必须大于等于传入argc声明的大小。 当argv不为nullptr时,napi_get_cb_info会根据argc声明的数量将JS实际传入的参数写入argv。如果argc小于等于实际JS传入参数的数量,该接口仅会将声明…...

单例模式

文章目录 单例模式特殊类的设计单例模式饿汉模式懒汉模式懒汉VS饿汉懒汉的线程安全单例对象的释放 单例模式 认识单例模式之前先认识一下几种常见的特殊类的设计。 特殊类的设计 设计一个类 只能再堆上创建对象 只能再堆上创建,则通过new来创建对象。 将类的构造函…...

Android OpenMAX - 开篇

Android Media是一块非常庞大的内容,上到APP的书写,中到播放器的实现、封装格式的了解,下到OMX IL层的实现、Decoder的封装,每一块都需要我们下很大的功夫学习。除此之外,我们还要对一些相关的模块进行了解&#xff0c…...

ubuntu开启ssh服务

1.安装openssh-server sudo apt-get install openssh-server 2.开启服务 sudo servive ssh start 3.设置开机自启动 sudo systemctl enable ssh 4.检查是否开启成功 ps -ef | grep ssh 如使用xshell等连接时失败,可以尝试关闭防火墙: sudo sys…...

测试缺陷定位的基本方法

前后端bug特征 后端: 业务逻辑问题:如任务状态未扭转成功,创建任务失败等数据类问题:如新增的任务在页面没有展示出来等性能类问题:提交任务一直显示创建中、批量操作等待耗时长超时等 前端: 页面显示类…...

【数字图像处理matlab系列】数组索引

【数字图像处理matlab系列】数组索引 【先赞后看养成习惯】【求点赞+关注+收藏】 MATLAB 支持大量功能强大的索引方案,这些索引方案不仅简化了数组操作,而且提高了程序的运行效率。 1. 向量索引 维数为1xN的数组称为行向量。行向量中元素的存取是使用一维索引进行的。因此…...

【2024系统架构设计】案例分析- 3 数据库

目录 一 基础知识 二 真题 一 基础知识 1 ORM ORM(Object—Relationl Mapping...

vue基础——java程序员版(总集)

前言: ​ 这是一个java程序员的vue学习记录。 ​ vue是前端的主流框架,按照如今的就业形式作为后端开发的java程序员也是要有所了解的,下面是本人的vue学习记录,包括vue2的基本使用以及引入element-ui,使用的开发工具…...

Rancher(v2.6.3)——Rancher配置Harbor镜像仓库

Rancher配置Harbor镜像仓库详细说明文档:https://gitee.com/WilliamWangmy/snail-knowledge/blob/master/Rancher/Rancher%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.md#8rancher%E9%85%8D%E7%BD%AEharbor ps:如果觉得作者写的还行,能够满足您的需…...

C++类和对象、面向对象编程 (OOP)

文章目录 一、封装1.抽象、封装2.类和对象(0)学习视频(1)类的构成(2)三种访问权限(3)struct和class的区别(4)私有的成员变量、共有的成员函数(5)类内可以直接访问私有成员,不需要经过对象 二、继承三、多态1.概念2.多态的满足条件3.多态的使用条件4.多态原理剖析5.纯…...

Introduction to Data Mining 数据挖掘

Why Data Mining? • The Explosive Growth of Data: from terabytes to petabytes — Data collection and data availability ◦ Automated data collection tools, database systems, Web, computerized society — Major sources of abundant data ◦ Business: Web, e-co…...

常用的 Git 命令

初始化一个新的仓库&#xff1a; git init 克隆一个仓库&#xff1a; git clone <仓库地址> 查看文件状态&#xff1a; git status 添加文件到暂存区&#xff1a; git add <文件名> 提交文件到仓库&#xff1a; git commit -m "提交说明" 查看提交历…...

jackson:JSON字符串(String)类型的成员序列化和反序列化

对于如下类型定义TestTaskInfo&#xff0c;props字段为JSON字符串(这在数据库经常用到),可以自由保存各种类型的数据 Data public class TestTaskInfo {private String id;private String props;public TestTaskInfo() {}public TestTaskInfo(String id, String props) {super…...

使用docker的好处???(docker的优势)

标准化环境&#xff1a; Docker通过容器技术封装应用程序及其依赖&#xff08;如库、配置文件、运行时环境等&#xff09;&#xff0c;确保应用程序在任何环境中都能以一致的方式运行。这种标准化消除了“在我机器上能运行”的问题&#xff0c;因为容器化应用能在开发、测试、生…...

Google AI 肺癌筛查的计算机辅助诊断

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

如何在macOS上免费获得专业级音质:eqMac终极音频均衡器指南

如何在macOS上免费获得专业级音质&#xff1a;eqMac终极音频均衡器指南 【免费下载链接】eqMac macOS System-wide Audio Equalizer & Volume Mixer &#x1f3a7; 项目地址: https://gitcode.com/gh_mirrors/eq/eqMac 想让你的MacBook或iMac音质瞬间提升到专业水准…...

生信分析效率翻倍:fastp多线程+UMI处理技巧全解析(含实战案例)

生信分析效率翻倍&#xff1a;fastp多线程UMI处理技巧全解析&#xff08;含实战案例&#xff09; 在肿瘤基因检测和ctDNA测序领域&#xff0c;数据预处理环节往往成为整个分析流程的瓶颈。传统工具在处理海量测序数据时&#xff0c;不仅耗时长达数小时&#xff0c;还经常面临内…...

OpenClaw多模型切换:GLM-4.7-Flash与Qwen混合使用指南

OpenClaw多模型切换&#xff1a;GLM-4.7-Flash与Qwen混合使用指南 1. 为什么需要多模型切换&#xff1f; 去年我在尝试用OpenClaw自动化处理技术文档时&#xff0c;发现单一模型很难满足所有需求。有些任务需要快速响应&#xff08;如简单问答&#xff09;&#xff0c;有些则…...

开源扩展开发指南:构建个性化Notion工作空间

开源扩展开发指南&#xff1a;构建个性化Notion工作空间 【免费下载链接】notion-enhancer an enhancer/customiser for the all-in-one productivity workspace notion.so 项目地址: https://gitcode.com/gh_mirrors/no/notion-enhancer 在数字化工作环境日益复杂的今天…...

WuliArt Qwen-Image Turbo部署案例:边缘计算设备(Jetson AGX Orin)适配进展

WuliArt Qwen-Image Turbo部署案例&#xff1a;边缘计算设备&#xff08;Jetson AGX Orin&#xff09;适配进展 1. 引言&#xff1a;当极速文生图遇上边缘AI 想象一下&#xff0c;你有一台强大的边缘计算设备&#xff0c;比如英伟达的Jetson AGX Orin&#xff0c;它被设计用于…...

使用ComfyUI搭建可视化DeOldify工作流

使用ComfyUI搭建可视化DeOldify工作流 想给家里的老照片上色&#xff0c;但觉得写代码太麻烦&#xff1f;或者想把手头的黑白视频变成彩色&#xff0c;却不知道从何下手&#xff1f;今天&#xff0c;我们就来聊聊一个特别有意思的玩法&#xff1a;用ComfyUI这个可视化工具&…...

哔哩下载姬downkyi:零基础到专业级的B站视频高效管理指南

哔哩下载姬downkyi&#xff1a;零基础到专业级的B站视频高效管理指南 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印等&am…...

不只是画连线:版图工程师必知的LOD效应与电流镜匹配实战指南(以SMIC 40nm工艺为例)

不只是画连线&#xff1a;版图工程师必知的LOD效应与电流镜匹配实战指南&#xff08;以SMIC 40nm工艺为例&#xff09; 在集成电路设计中&#xff0c;版图工程师常常被误解为仅仅是"画连线"的技术人员。然而&#xff0c;任何一位经历过流片洗礼的工程师都会明白&…...

终极指南:如何使用Divinity Mod Manager轻松管理《神界:原罪2》模组

终极指南&#xff1a;如何使用Divinity Mod Manager轻松管理《神界&#xff1a;原罪2》模组 【免费下载链接】DivinityModManager A mod manager for Divinity: Original Sin - Definitive Edition. 项目地址: https://gitcode.com/gh_mirrors/di/DivinityModManager 如…...

六自由度机械臂逆解入门:当你的机械手‘知道’位置,如何反推关节角度?

六自由度机械臂逆解入门&#xff1a;从末端位姿反推关节角度的实战指南 当你第一次让机械臂抓取桌上的水杯时&#xff0c;可能会遇到一个令人困惑的问题&#xff1a;明明知道杯子在三维空间中的精确位置和朝向&#xff0c;却不知道该如何设置六个关节的旋转角度。这就是逆运动学…...