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.scalaDemo

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

}

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

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

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

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

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

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 等将集合转换为其他类型的集合或数据结构。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32(TIM定时器中断)

理论知识 定时器定时中断 接线图 定时器工作配置步骤 定时中断和内外时钟源选择 定时器中需要使用的函数 程序实现效果&#xff1a; void TIM_DeInit(TIM_TypeDef* TIMx); **// 恢复定时器的缺省配置**void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef*TIM…

SwiftUI动画之几何匹配

SwiftUI动画之几何匹配 记录一下 日常开发中经常使用到的滑块功能 如何同工几何匹配快速制作点击动画 import SwiftUIstruct MatchedGeometryEffestExamle: View {let categories ["Home", "Popular", "Saved"]State var selecedTitle "…

Artemis Finance引领Metis流动性质押,并启动积分空投活动

在以太坊可扩展性解决方案中&#xff0c; Optimism、Arbitrum等Layer2链主要面临两个问题&#xff1a;欺诈/有效性证明以及去中心化排序器Sequencers。在实际的发展过程中&#xff0c;Optimism或Arbitrum等Layer2链仍然侧重于在欺诈证明和有效性证明方面进行努力&#xff0c;在…

MATLAB 矩阵

【MATLAB】&#xff08;四&#xff09;MATLAB在线性代数中的应用_线性代数在matlab中的应用-CSDN博客 矩阵的秩 rank rank&#xff08;a&#xff09; 矩阵的逆矩阵 inv inv&#xff08;a&#xff09; 矩阵的特征值eig和特征向量D [V,D]eig(a) 特征值 deig(a) 特征向量D [V…

【 c 语言 】指针入门

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;C语言 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步&…

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

滑块视图容器&#xff0c;提供子组件滑动轮播显示的能力。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 可以包含子组件。 说明&#xff1a; 子组件类型&#xff1a;系统组件和自定义组…

Python基础入门 --- 4.循环语句

文章目录 Python基础入门第四章&#xff1a;4.1 while循环语句4.1.1 while循环的嵌套4.2 for循环语句4.2.1 range语句4.2.2 变量作用域4.2.3 for循环的嵌套应用 4.3 循环中断 continue和break Python基础入门 第四章&#xff1a; 4.1 while循环语句 语法结构&#xff1a; w…

springboot多模块下swaggar界面出现异常(Knife4j文档请求异常)或者界面不报错但是没有显示任何信息

继上一篇博文&#xff0c;我们解决了多模块下扫描不到子模块的原因,建议先看上一个博客了解项目结构&#xff1a; springboot 多模块启动报错Field XXX required a bean of type XXX that could not be found. 接下来我们来解决swaggar异常的原因&#xff0c;我们成功启动项目…

【IC设计】Verilog线性序列机点灯案例(三)(小梅哥课程)

声明&#xff1a;案例和代码来自小梅哥课程&#xff0c;本人仅对知识点做做笔记&#xff0c;如有学习需要请支持官方正版。 文章目录 该系列目录设计目标设计思路RTL及Testbench代码RTL代码Testbench代码 仿真结果上板视频 该系列目录 Verilog线性序列机点灯案例(一)&#xff…

【Hadoop大数据技术】——MapReduce分布式计算框架(学习笔记)

&#x1f4d6; 前言&#xff1a;MapReduce是Hadoop系统核心组件之一&#xff0c;它是一种可用于大数据并行处理的计算模型、框架和平台&#xff0c;主要解决海量数据的计算问题&#xff0c;是目前分布式计算模型中应用较为广泛的一种。 目录 &#x1f552; 1. MapReduce概述&am…

cool 中的Midway ----node.js的TypeORM的使用

1.介绍 TypeORM | Midway TypeORM 是 node.js 现有社区最成熟的对象关系映射器&#xff08;ORM &#xff09;。本文介绍如何在 Midway 中使用 TypeORM 相关信息&#xff1a; 描述可用于标准项目✅可用于 Serverless✅可用于一体化✅包含独立主框架❌包含独立日志❌ 和老写…

实现HBase表和RDB表的转化(附Java源码资源)

实现HBase表和RDB表的转化 一、引入 转化为HBase表的三大来源&#xff1a;RDB Table、Client API、Files 如何构造通用性的代码模板实现向HBase表的转换&#xff0c;是一个值得考虑的问题。这篇文章着重讲解RDB表向HBase表的转换。 首先&#xff0c;我们需要分别构造rdb和hba…

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

JUnit中的断言&#xff08;Assert&#xff09;有哪些类型&#xff1f; JUnit提供了多种断言类型来帮助测试代码的正确性。常见的断言类型包括&#xff1a; 1、assertEquals&#xff1a; 用于检查两个值是否相等。如果不相等&#xff0c;测试失败。 2、assertTrue和assertFal…

Midjourney订阅攻略

订阅Midjourney的攻略主要包括以下几个步骤&#xff1a; 访问Midjourney官网&#xff1a;首先&#xff0c;你需要访问Midjourney的官方网站。你可以通过搜索引擎找到它&#xff0c;或者通过社交媒体、论坛等渠道获取官方网站链接。了解订阅选项&#xff1a;在官网上&#xff0…

HarmonyOS NEXT应用开发—视频全屏切换案例

介绍 本示例介绍了Video组件和ohos.window接口实现媒体全屏的功能。 该场景多用于首页瀑布流媒体播放等。 效果图预览 使用说明&#xff1a; 点击全屏按钮&#xff0c;横屏媒体窗口。点击恢复窗口按钮&#xff0c;恢复媒体窗口。 实现步骤 在Video组件内调用 onFullscreen…

并发编程之join 方法的详细解析

3.8 join 方法详解 为什么需要 join 下面的代码执行&#xff0c;打印 r 是什么&#xff1f; static int r 0; public static void main(String[] args) throws InterruptedException {test1(); } private static void test1() throws InterruptedException {log.debug(&quo…

CSS学习(2)-盒子模型

1. CSS 长度单位 px &#xff1a;像素。em &#xff1a;相对元素 font-size 的倍数。rem &#xff1a;相对根字体大小&#xff0c;html标签就是根。% &#xff1a;相对父元素计算。 注意&#xff1a; CSS 中设置长度&#xff0c;必须加单位&#xff0c;否则样式无效&#xff…

《JAVA与模式》之简单工厂模式

系列文章目录 文章目录 系列文章目录前言一、简单工厂模式二、简单工厂模式的优缺点前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 在阎宏博士的《JAVA与模式》一…

如何在IDEA 中设置背景图片

在IDEA 中设置背景图片&#xff0c;可以按照以下步骤操作&#xff1a; 1、打开 IntelliJ IDEA 软件&#xff0c;进入代码编辑主界面。 点击编辑窗口上方的“File”菜单项。 2、在下拉子菜单中&#xff0c;选择“Settings”选项&#xff08;如果你使用的是 macOS&#xff0c;可…

双指针、bfs与图论

1238. 日志统计 - AcWing题库 import java.util.*;class PII implements Comparable<PII>{int x, y;public PII(int x, int y){this.x x;this.y y;}public int compareTo(PII o){return Integer.compare(x, o.x);} }public class Main{static int N 100010, D, K;st…