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

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

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

win版Scala安装https://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官网下载地址https://www.jetbrains.com/zh-cn/idea/download/other.html

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

这样就安装完成了。

二、Scala安装

1.Scala在线安装

点击后选择Plugins...

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

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

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

重启

3.Scala离线安装

IDEA Scala插件官网下载地址https://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,安装成功

Scala 复制代码
package com.tipdm.scalaDemo

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

}

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

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

Scala 复制代码
package com.tipdm.scalaDemo

object 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()
  }

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

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

Scala 复制代码
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 使用指定的二元函数对集合中的元素进行归约操作,返回一个单一的结果。
fold 与reduce类似,但接受一个初始值,并使用指定的二元函数对集合中的元素进行归约操作。
flatMap 对集合中的每个元素应用一个函数,该函数返回一个集合,然后将所有返回的集合合并成一个新的集合。
foreach 对集合中的每个元素应用一个函数,不返回任何结果(Unit类型)。通常用于执行副作用操作。
zip 将两个集合中的元素按索引对应起来,并返回一个新的集合,其中包含元素对。
head 返回集合中的第一个元素。如果集合为空,则抛出异常。
tail 返回集合中除第一个元素之外的所有元素组成的新集合。如果集合为空,则抛出异常。
isEmpty 检查集合是否为空,返回一个布尔值。
size 或 length 返回集合中的元素数量。
contains 检查集合中是否包含指定的元素,返回一个布尔值。
exists 检查集合中是否存在使指定谓词函数返回true的元素,返回一个布尔值。
forall 检查集合中的所有元素是否都使指定谓词函数返回true,返回一个布尔值。
find 查找集合中第一个使指定谓词函数返回true的元素,并返回其选项(Option)值。
sortBy 根据指定的排序函数对集合进行排序,并返回一个新的有序集合。
groupBy 根据指定的分类函数对集合中的元素进行分组,并返回一个新的映射(Map),其中键是分类结果,值是对应的元素集合。
mkString 将集合中的元素连接成一个字符串,并使用指定的分隔符进行分隔。
toList, toSet, toMap 等 将集合转换为其他类型的集合或数据结构。
相关推荐
Wang's Blog几秒前
Java框架 SpringCloud 快速入门: 服务拆分之服务远程调用
java·开发语言·spring cloud
努力努力再努力wz1 分钟前
【CUDA入门系列】CUDA编程实战:设备选择、显存管理、Kernel、Stream 与 Event 全流程梳理
开发语言·c++
杨丰玮41812 分钟前
C语言核心语法
java·c语言·开发语言·学习方法
ttwuai14 分钟前
Go开源后台管理系统推荐:README、源码和License应该怎么验
开发语言·golang·开源
Java后端的Ai之路17 分钟前
Python 进阶探索30 - Python中的装饰器
开发语言·人工智能·python·文件处理·装饰器模式
沫璃染墨17 分钟前
《从零入门Linux系统篇(五十八):线程篇·十一——线程安全与死锁详解:从可重入到多锁管理》
linux·服务器·开发语言·c++·驱动开发·安全·架构
2601_9672127220 分钟前
灵活扩展型电源轨道系统服务商技术路线对比与选型参考
大数据·经验分享
黑妹天下第一乖26 分钟前
第 05 讲:阿加犀 AidCV 图像处理加速与 OpenCV 一致开发实战
开发语言·图像处理·人工智能·嵌入式硬件·数码相机·opencv·计算机视觉
言乐627 分钟前
Python基于关键词分拣快递(适用于电商与货运代理等)
开发语言·python·django·virtualenv·pygame
一条破秋裤33 分钟前
01_字符设备基本概念_从分类到LED控制链路
开发语言·php