Spark-Scala语言实战(2)(在IDEA中安装Scala,超详细配图)

之前的文章中,我们学习了如何在windows下下载及使用Scala,但那对一个真正想深入学习Scala的人来说,是不够的,今天我会给大家带来如何在IDEA中安装Scala。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。

请注意,在IDEA安装Scala前,请保证Windows中以及安装了Scala,如果还没有安装的,可以查看这篇文章学习安装:

win版Scala安装icon-default.png?t=N7T8https://blog.csdn.net/qq_49513817/article/details/136675572?spm=1001.2014.3001.5501

目录

一、IDEA安装

二、Scala安装

1.Scala在线安装 

3.Scala离线安装

3.测试运行

三、编写简洁版九九乘法表

拓展-什么是IDEA及Scala常见函数

1.IDEA

什么是IDEA

IDEA的特点

2.Scala常见函数


一、IDEA安装

IDEA官网下载地址icon-default.png?t=N7T8https://www.jetbrains.com/zh-cn/idea/download/other.html

 

 

这个是创建桌面快捷方式,可选可不选,看个人需求 。

 这样就安装完成了。

二、Scala安装

1.Scala在线安装 

点击后选择Plugins...

 现在我们来安装Scala开发依赖包

搜索Scala 并点击Install安装,重启IDEA。

 

 选择windows安装的Scala后选择点击OK。

重启

3.Scala离线安装

IDEA Scala插件官网下载地址icon-default.png?t=N7T8https://plugins.jetbrains.com/plugin/1347-scala/versions#tabs

因为我的IDEA版本是2023.2.3,所以这里选择相应的兼容版本。 

按照步骤选择Install Plugin form Disk。

选择刚才安装的Scala,点击OK,重启IDEA。

 注意,离线方法也需要安装Scala开发依赖包,详见在线安装

 

3.测试运行

 按照图片依次点击。

 选好后点击Next。

 这里的名称不能包含特殊字符,中文,我这里取个p1,点击Finish。

点击Package建包,包名com.tipdm.scalaDemo,右击com.tipdm.scalaDemo,选择New->Scala Class,新建一个Scala类。

选择Object。

编写代码,测试结果

输出Hello,安装成功

package com.tipdm.scalaDemoobject p1 {def main(args: Array[String]): Unit = {println("Hello")}}

三、编写简洁版九九乘法表

上篇文章,我们说了怎么编写一个九九乘法表。来IDEA试一下能否运行。

package com.tipdm.scalaDemoobject P2 {def main(args: Array[String]): Unit = {object jjcfb {def nb() = {for (i <- 1 to 9) {for (j <- 1 to i) {print(s"$j*$i=${i*j}\t")}println()}}}jjcfb.nb()}

运行成功,那么今天交给大家一种简介版本的。

一行代码,完成,大家快去试试吧。

object P2 {def main(args: Array[String]): Unit = {(1 to 9).foreach { i =>(1 to i).foreach { j =>print(s"$j*$i=${i*j}\t")}; println()}}}

拓展-什么是IDEA及Scala常见函数

1.IDEA

什么是IDEA

IntelliJ IDEA是一款由JetBrains公司开发的集成开发环境(IDE),主要用于Java语言开发,但同样支持其他编程语言和技术栈的开发。它被广泛认为是业界最好的Java开发工具之一,特别在智能代码助手、代码自动提示、重构、J2EE支持、版本控制工具整合(如git、svn、github等)、JUnit测试、代码分析以及创新的GUI设计等方面表现出色。

IntelliJ IDEA提供了丰富的功能,如巧妙的代码完成、静态代码分析和重构,帮助开发人员执行例行和重复的任务,使开发人员能够更专注于软件开发的核心部分。同时,它是一款跨平台的IDE,可以在Windows、macOS和Linux等操作系统上提供一致的使用体验。

无论是开发桌面应用、Web应用、移动应用,还是大数据和云计算应用,IntelliJ IDEA都能提供强大的支持,是开发人员的得力助手。如需更多关于IntelliJ IDEA的信息,建议访问JetBrains公司官网或相关开发者社区进行深入了解。

IDEA的特点

IntelliJ IDEA的特点主要体现在以下几个方面:

  • 智能代码编辑与提示:IDEA具有先进的代码自动完成功能、语法高亮显示以及代码导航,可以显著提高编写代码的效率。其智能代码提示功能能够根据上下文和代码模式,自动为开发者提供可能的代码选项,大大减少了编写代码的时间和精力。
  • 强大的代码分析与重构:IDEA内置了各种强大的静态代码分析工具,能够自动检测出代码中可能存在的问题,并给出相应的警告或建议,帮助开发者尽早发现潜在的bug,提高代码质量。同时,它还提供了智能重构功能,使开发者能够轻松地修改和优化代码结构。
  • 集成调试工具:IDEA提供了强大的集成调试工具,支持断点调试、变量跟踪、表达式求值等功能,方便开发者定位和修复代码中的错误,提高调试效率。
  • 丰富的插件生态系统:IDEA拥有一个庞大而活跃的插件生态系统,开发者可以根据自己的需求安装各种插件来扩展IDEA的功能,无论是集成新的框架、库还是工具,都可以通过插件来实现。
  • 用户友好的界面:IDEA的用户界面设计简洁清晰,易于使用,无论是新手还是有经验的开发者都能轻松上手。
  • 强大的社区支持:IntelliJ IDEA拥有庞大的用户社区和开发者社区,您可以在社区中找到大量的教程、插件和解决方案。

2.Scala常见函数

函数名描述
map对集合中的每个元素应用一个函数,并返回一个新的集合,其中包含应用函数后的结果。
filter对集合中的每个元素应用一个谓词函数,并返回一个新的集合,其中包含使谓词函数返回true的元素。
reduce使用指定的二元函数对集合中的元素进行归约操作,返回一个单一的结果。
foldreduce类似,但接受一个初始值,并使用指定的二元函数对集合中的元素进行归约操作。
flatMap对集合中的每个元素应用一个函数,该函数返回一个集合,然后将所有返回的集合合并成一个新的集合。
foreach对集合中的每个元素应用一个函数,不返回任何结果(Unit类型)。通常用于执行副作用操作。
zip将两个集合中的元素按索引对应起来,并返回一个新的集合,其中包含元素对。
head返回集合中的第一个元素。如果集合为空,则抛出异常。
tail返回集合中除第一个元素之外的所有元素组成的新集合。如果集合为空,则抛出异常。
isEmpty检查集合是否为空,返回一个布尔值。
size 或 length返回集合中的元素数量。
contains检查集合中是否包含指定的元素,返回一个布尔值。
exists检查集合中是否存在使指定谓词函数返回true的元素,返回一个布尔值。
forall检查集合中的所有元素是否都使指定谓词函数返回true,返回一个布尔值。
find查找集合中第一个使指定谓词函数返回true的元素,并返回其选项(Option)值。
sortBy根据指定的排序函数对集合进行排序,并返回一个新的有序集合。
groupBy根据指定的分类函数对集合中的元素进行分组,并返回一个新的映射(Map),其中键是分类结果,值是对应的元素集合。
mkString将集合中的元素连接成一个字符串,并使用指定的分隔符进行分隔。
toListtoSettoMap 等将集合转换为其他类型的集合或数据结构。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Javaweb--CSS

一&#xff1a;概述 CSS &#xff08;Cascading Style Sheet&#xff08;层叠样式表&#xff09;&#xff09;是一门语言&#xff0c;用于控制网页表现。 W3C标准规定了网页是由以下组成&#xff1a; 结构&#xff1a;HTML 表现&#xff1a;CSS 行为&#xff1a;JavaScrip…

分布式文件存储与数据缓存(一)| FastDFS

目录 分布式文件系统FastDFS概述_简介FastDFS特性&#xff1a;分布式文件服务提供商 FastDFS概述_核心概念trackerstorageclientgroup FastDFS概述_上传机制内部机制如下 FastDFS概述_下载机制内部机制如下 FastDFS环境搭建_Linux下载安装gcc下载安装FastDFS下载安装FastDFS依赖…

sqllab第二十五A关通关笔记

知识点&#xff1a; 数值型注入双写绕过 oorranand这里不能用错误注入&#xff08;固定错误回显信息&#xff09;联合注入 测试发现跟25关好像一样&#xff0c;就是过滤了and or # 等东西 构造payload:id1/0 发现成功运算了&#xff0c;这是一个数值型的注入 构造payload:id…

音频的录制及播放

在终端安装好pip install pyaudio&#xff0c;在pycharm中敲入录音的代码&#xff0c;然后点击运行可以在10s内进行录音&#xff0c;录音后的音频会保存在与录音代码同一路径项目中&#xff0c;然后再新建项目敲入播放的代码&#xff0c;点击运行&#xff0c;会把录入的录音进行…

Java学习笔记------常用API(五)

爬虫 从网站中获取 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.regex.Matcher; import java.util.reg…

浏览器如何进行静态资源缓存?—— 强缓存 协商缓存

在平时使用浏览器排查问题的过程中&#xff0c;我们有时会看到浏览器网络请求中出现304状态码&#xff0c;那么是什么情况下出现304呢&#xff1f;下面是关于这一现象的解释&#xff1a; 浏览器如何进行静态资源缓存&#xff1f;—— 强缓存 & 协商缓存 状态码 304浏览器如…

python的opencv最最基础初学

localhost中详解OpenCV的函数imread()和函数imshow(),并利用它们实现对图像的读取和显示_opencv imshow-CSDN博客 其实以下均为numpy 显示一张图片 import cv2 ####opencv读取的格式是BGR import matplotlib.pyplot as plt import numpy as np %matplotlib inline imgcv2.…

k8s之图形界面DashBoard【九】

文章目录 9. DashBoard9.1 部署Dashboard9.2 使用DashBoard 镇场 9. DashBoard 之前在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的。其实&#xff0c;为了提供更丰富的用户体验&#xff0c;kubernetes还开发了一个基于web的用户界面&#xff08;Dashboard&…

java小型人事管理系统

开发工具&#xff1a; MyEclipseJdkTomcatSQLServer数据库 运行效果视频&#xff1a; https://pan.baidu.com/s/1hshFjiG 定制论文&#xff0c;联系下面的客服人员

Mac版Jmeter安装与使用模拟分布式环境

Mac版Jmeter安装与使用&模拟分布式环境 1 安装Jmeter 1.1 安装Java环境 国内镜像地址&#xff1a;https://repo.huaweicloud.com/java/jdk/11.0.29/jdk-11.0.2_osx-x64_bin.dmg 下载dmg后&#xff0c;双击进行安装。 配置环境变量&#xff1a; # 1 打开环境变量配置文件…

微信小程序关闭首页广告

由于之前微信小程序默认开启了首页广告位。导致很多老人误入广告页的内容&#xff0c;所以想着怎么屏蔽广告。好家伙&#xff0c;搜索一圈&#xff0c;要么是用户版本的屏蔽广告&#xff0c;或者是以下一个模棱两可的答案&#xff0c;要开发者设置一下什么参数的&#xff0c;如…

牛客网-SQL大厂面试题-1.各个视频的平均完播率

题目&#xff1a;各个视频的平均完播率 DROP TABLE IF EXISTS tb_user_video_log, tb_video_info; CREATE TABLE tb_user_video_log (id INT PRIMARY KEY AUTO_INCREMENT COMMENT 自增ID,uid INT NOT NULL COMMENT 用户ID,video_id INT NOT NULL COMMENT 视频ID,start_time dat…

机器学习之客户违约预测模型搭建之案例实战

1. 决策数模型搭建 1.1 数据预处理 客户违约预测模型的目的是通过已有的客户信息和违约表现来搭建合适的模型&#xff0c;从而预测之后的客户是否会违约。首先通过pandas库读取数据相关知识读取客户的证信数据以及其交易表现&#xff0c;即是否违约记录&#xff0c;代码如下&…

RabbitMQ高级-高级特性

1.消息可靠性传递 在使用RabbitMQ的时候&#xff0c;作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ为我们提供了两种方式来控制消息的投递可靠性模式 1.confirm 确认模式 确认模式是由exchange决定的 2.return 退回模式 回退模式是由routing…

uniapp 利用uni-list 和 uni-load-more 组件上拉加载列表

列表的加载动作&#xff0c;在移动端开发中随处可见&#xff0c;笔者也是经常用到。今天正好有空&#xff0c;做一个总结&#xff0c;方便以后使用。uniapp 利用uni-list 和 uni-load-more 组件上拉加载列表操作步骤如下&#xff1a;1、资料准备 1&#xff09;、uni-load-more…

spring boot集成redis实现共享存储session

spring boot集成redis实现共享存储session redis实现共享存储session 首先下载redis,我下载的版本是5.0.14,目前官网貌似找不到5.x版本&#xff0c;可以自行去网上寻找。我这里的springboot版本是2.6.4引入redis依赖 <!-- https://mvnrepository.com/artifact/org.spring…

antd5 虚拟列表原理(rc-virtual-list)

github:https://github.com/react-component/virtual-list rc-virtual-list 版本 3.11.4(2024-02-01) 版本&#xff1a;virtual-list-3.11.4 Development npm install npm start open http://localhost:8000/List 组件接收 Props PropDescriptionTypeDefaultchildrenRender …

FFmpeg转码参数说明及视频转码示例

-b : 设置音频或者视频的转码码率 -b:v 只设置视频码率 -b:a 只设置音频码率 -ab: 只设置音频码率, 默认码率大小为: 128k bit/s -g: 设置视频GOP大小,表示I帧之间的间隔,默认为12 -ar: 设置音频采样率,默认0 -ac: 设置音频通道数量 默认0 -bf: 设置连…

读书·计算机组成与设计:软硬件接口RISC-V版·第三章

加法和减法 减法&#xff1a; 将负数用二进制补码的形式表现出来并相加 补码&#xff1a; 除了符号位&#xff0c;其他位置 取反 1 正数 &#x1f449; 负数补码&#xff1a; 全部取反 1 负数补码 &#x1f449; 正数 &#xff1a; 全部取反 1 减法就是&#xff1a; 将 相…

使用Lua编写Wireshark解析ProtoBuf插件

文章目录 Wireshark Protobuf Lua-dissectorStep 1: 获取 WiresharkStep 2: 配置ProtoBuf相关设置添加ProtoBuf查找路径 Step 3 运行和调试Lua代码1. 添加Lua脚本2. 运行和调试 Step 4: 写Lua Dissector代码 :)Step 5(Optional): Decode AsGithub工程地址 Wireshark Protobuf L…