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

news2024/12/23 5:47:38

之前的文章中,我们学习了如何在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 等将集合转换为其他类型的集合或数据结构。

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

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

相关文章

游戏引擎中的动画基础

一、动画技术简介 视觉残留理论 - 影像在我们的视网膜上残留1/24s。 游戏中动画面临的挑战&#xff1a; 交互&#xff1a;游戏中的玩家动画需要和场景中的物体进行交互。实时&#xff1a;最慢需要在1/30秒内算完所有的场景渲染和动画数据。&#xff08;可以用动画压缩解决&am…

R语言深度学习-5-深度前馈神经网络

本教程参考《RDeepLearningEssential》 本篇我们将学习如何建立并训练深度预测模型。我们将关注深度前馈神经网络 5.1 深度前馈神经网络 我们还是使用之前提到的H2O包&#xff0c;详细可以见之前的博客&#xff1a;R语言深度学习-1-深度学习入门&#xff08;H2O包安装报错解决…

Spring炼气之路(炼气一层)

目录 一、IOC 1.1 控制反转是什么&#xff1f; 1.2 什么是IOC容器&#xff1f; 1.3 IOC容器的作用 1.4 IOC容器存放的是什么&#xff1f; 二、DI 2.1 依赖注入是什么&#xff1f; 2.2 依赖注入的作用 三、IOC案例实现 3.1下载Maven 3.2 配置Maven中的settings.xml文…

Stable Diffusion科普文章【附升级gpt4.0秘笈】

随着人工智能技术的飞速发展&#xff0c;我们越来越多地看到计算机生成的艺术作品出现在我们的生活中。其中&#xff0c;Stable Diffusion作为一种创新的图像生成技术&#xff0c;正在引领一场艺术创作的革命。本文将为您科普Stable Diffusion的相关知识&#xff0c;带您走进这…

部署一个本地的ChatGPT(Ollama)

一 下载Ollama Ollama下载地址&#xff1a;https://ollama.com/download 下载完后 二 安装运行 双击下载好的OllamaSetup.exe开发 安装Ollama: 安装完成后&#xff0c;多了一个Ollama的菜单如下图 &#xff1a; Ollama安装好默认是配置开机运行&#xff0c;如果没有运行可以在…

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

Golang协程详解

一.协程的引入 1.通过案例文章引入并发,协程概念 见:[go学习笔记.第十四章.协程和管道] 1.协程的引入,调度模型&#xff0c;协程资源竞争问题 通过上面文章可以总结出Go并发编程原理: 在一个处理进程中通过关键字 go 启用多个协程&#xff0c;然后在不同的协程中完成不同的子任…

Spark-Scala语言实战(1)

在之前的文章中&#xff0c;我们学习了如何在Linux安装Spark以及Scala&#xff0c;想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢谢。 Spark及Scala的安装https:/…

图像处理ASIC设计方法 笔记11 像素误差与字长优化

P108 P105 定点误差分析与字长优化 1 像素误差是什么原因导致的? 在本书所说的算法中,像素误差是由几次定点运算累加导致的: 首先由行(列)号与定点正弦/正切值计算出该行(列)的小数平移量,然后将这些小数平移量截取一定字长用来计算插值核,再将这些插值核也截取一…

VMware Worksation 问题

几个晚上在虚拟机装了好多东西&#xff0c;配置mysql&#xff0c;配置docker、Git工具等等&#xff0c;可能废寝忘食导致太困强制关了虚拟机&#xff0c;结果第二天晚上回来发现打不开&#xff0c;心态直接崩了。 问题&#xff1a; 疯狂百度告知要删除后缀为.lck的文件夹及文件…

pytorch 实现线性回归(Pytorch 03)

一 线性回归框架 线性模型的四个模块&#xff1a;训练的数据集&#xff0c;线性模型&#xff0c;损失函数&#xff0c;优化算法。 1.1 数据集 使用房价预测数据集&#xff0c;我们希望根据房屋的面积和房龄等来估算房屋价格。 1.2 线性模型 预测公式&#xff0c; 价格 权重…

蓝桥杯练习系统(算法训练)ALGO-969 N车

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 给定NN的棋盘&#xff0c;问有多少种放置N个车使他们不互相攻击的方案。 输入格式 一行一个整数&#xff0c;N。 输出格式…

又是一场心碎的div2

真要破防了&#xff0c;还是没做出C题&#xff0c;感觉这次C已经很简单了。 C题这么多人过&#xff0c;反观D题这个人数有点诡异。但是这么多人过我都没过。看了一个半小时就是没看出哪写错了。 就完全是浪费这么多时间。我真碎了。受不了了。还是晚安吧&#xff0c;每天抄作业…

RT-Thread之USB组件的使用记录(SD卡和USB同时挂载)

前言 使用usb-host组件读取u盘记录同时挂载sd和u盘用到的芯片为stm32f407zgt6u盘的格式为fat 组件选择 文件相关的宏定义 /* DFS: device virtual file system */ /* 设备虚拟文件系统 */ #define RT_USING_DFS #define DFS_USING_WORKDIR #define DFS_FILESYSTEMS_MAX 3 //…

MIT线性代数-方程组的几何解释

文章目录 1. 二维空间1.1 行方向1.2 列方向 2. 三维空间2.1 行方向2.2 列方向 假设有一个方程组 A X B AXB AXB表示如下 2 x − y 0 (1) 2x-y0\tag{1} 2x−y0(1) − x 2 y 3 (2) -x2y3\tag{2} −x2y3(2) 矩阵表示如下&#xff1a; [ 2 − 1 − 1 2 ] [ x y ] [ 0 3 ] (3)…

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…

Day66:WEB攻防-Java安全SPEL表达式SSTI模版注入XXEJDBCMyBatis注入

目录 JavaSec搭建 Hello-Java-Sec搭建 Java安全-SQL注入-JDBC&MyBatis Java安全-XXE注入-Reader&Builder Java安全-SSTI模版-Thymeleaf&URL Java安全-SPEL表达式-SpringBoot框架 知识点&#xff1a; 1、Java安全-SQL注入-JDBC&MyBatis 2、Java安全-XXE注…

html编辑器

HTML 编辑器推荐 html可以使用记事本编辑 但是更建议使用专业的 HTML 编辑器来编辑 HTML&#xff0c;我在这里给大家推荐几款常用的编辑器&#xff1a; VS Code&#xff1a;https://code.visualstudio.com/WebStorm: https://www.jetbrains.com/webstorm/Notepad: https://no…

相机与相机模型(针孔/鱼眼/全景相机)

本文旨在较为直观地介绍相机成像背后的数学模型&#xff0c;主要的章节组织如下&#xff1a; 第1章用最简单的针孔投影模型为例讲解一个三维点是如何映射到图像中的一个像素 第2章介绍除了针孔投影模型外其他一些经典投影模型&#xff0c;旨在让读者建立不同投影模型之间的建模…

考研C语言复习进阶(6)

目录 1. 程序的翻译环境和执行环境 2. 详解编译链接 2.1 翻译环境 ​编辑​编辑 2.2 编译本身也分为几个阶段&#xff1a; 2.3 运行环境 3. 预处理详解 3.1 预定义符号 3.2 #define 3.2.1 #define 定义标识符 3.2.2 #define 定义宏 2.2.3 #define 替换规则 3.2.4…