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://www.hqwc.cn/news/544345.html

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

相关文章

python基础——字符串的常见操作方法【下标索引,index,count,len,replace,split,strip】

&#x1f4dd;前言&#xff1a; 字符串是一种有序的&#xff0c;允许重复字符串存在的&#xff0c;不可修改的序列 这篇文章主要总结一下python中有关字符串的部分相关知识&#xff0c;以及字符串的常见操作方法&#xff1a; 1&#xff0c;和其他序列极其类似的操作方法 2&…

基于卷积神经网络实现手写数字识别

基于卷积神经网络实现手写数字识别 基于卷积神经网络实现手写数字识别。具体过程如下&#xff1a; &#xff08;1&#xff09; 定义ConvNet结构类及其前向传播方式 &#xff08;2&#xff09; 设置超参数以及导入相关的包。 &#xff08;3&#xff09; 定义训练网络函数和绘…

Linux系统——Session ID(负载均衡如何保持会话)

目录 一、实验环境搭建 二、部署Nginx代理服务器配置 三、部署后端真是服务器Tomcat配置 四、配置Tomcat的Session ID会话保持 五、测试 此次实验是Tomcat后端服务器如何做Session ID会话保持 一、实验环境搭建 [rootlocalhost ~]#systemctl stop firewalld [rootlocalho…

Ubuntu Desktop - gnome-calculator (计算器)

Ubuntu Desktop - gnome-calculator [计算器] 1. Ubuntu Software -> gnome-calculator -> Install -> Continue2. Search your computer -> Calculator -> Lock to LauncherReferences 1. Ubuntu Software -> gnome-calculator -> Install -> Continu…

2024年3月退伍大学生士兵报名参加2024年天津专升本的通知

3月20日开始&#xff0c;2024年3月退伍的大学生士兵可报名参加2024年天津市高职升本科招生考试 为落实有关退役大学生士兵免试专升本工作的文件精神&#xff0c;按照《市高招办关于印发2024年天津市高职升本科招生实施办法的通知》&#xff08;津招办高发〔2023〕14号&#xf…

D 咖智能饮品机入驻万达,引领时尚饮品新潮流!

近日&#xff0c;D 咖智能饮品机正式入驻万达广场&#xff0c;为广大消费者带来全新的时尚饮品体验。作为国内领先的智能饮品设备品牌&#xff0c;D 咖智能饮品机以其多样化的口味选择、便捷的操作方式和个性化的定制服务&#xff0c;受到了众多消费者的喜爱。 D 咖智能饮品机提…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:RowSplit)

将子组件横向布局&#xff0c;并在每个子组件之间插入一根纵向的分割线。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 可以包含子组件。 RowSplit通过分割线限制子组件的宽度。初始化…

C语言 1000内完数、素数判断

一、一个数如果恰好等于它的因子之和&#xff0c;这个数就称为“完数”。例如&#xff0c;6旳因子为1&#xff0c;2&#xff0c;3&#xff0c;而6123&#xff0c;因此6是“完数”。编程序找出1000以内的所有“完数”&#xff0c;并按照下面格式输出其因子&#xff1a;6 its fac…

Centos7安装Clickhouse单节点部署

&#x1f388; 作者&#xff1a;互联网-小啊宇 &#x1f388; 简介&#xff1a; CSDN 运维领域创作者、阿里云专家博主。目前从事 Kubernetes运维相关工作&#xff0c;擅长Linux系统运维、开源监控软件维护、Kubernetes容器技术、CI/CD持续集成、自动化运维、开源软件部署维护…

Stargo 管理部署 Starrocks 集群

配置主机间 ssh 互信 ssh-copy-id hadoop02 ssh-copy-id hadoop03配置系统参数 ############################ Swap检查 ############################ echo 0 | sudo tee /proc/sys/vm/swappiness########################### 内核参数检查 ########################## echo…

Swift 面试题及答案整理,最新面试题

Swift 中如何实现单例模式&#xff1f; 在Swift中&#xff0c;单例模式的实现通常采用静态属性和私有初始化方法来确保一个类仅有一个实例。具体做法是&#xff1a;定义一个静态属性来存储这个单例实例&#xff0c;然后将类的初始化方法设为私有&#xff0c;以阻止外部通过构造…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:TabContent)

仅在Tabs中使用&#xff0c;对应一个切换页签的内容视图。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 支持单个子组件。 说明&#xff1a; 可内置系统组件和自定义组件&#xff0c;支…