大数据处理学习笔记1.3 使用Scala集成开发环境

news/2024/4/27 5:29:35/文章来源:https://blog.csdn.net/howard2005/article/details/129118163

文章目录

  • 零、本讲学习目标
  • 一、搭建Scala的IntelliJ IDEA开发环境
    • (一)启动IDEA
    • (二)安装Scala插件
    • (三)配置IDEA使用的默认JDK
    • (四)创建Scala项目
      • 1、创建Scala项目 - ScalaDemo
      • 2、创建Scala类 - HelloWorld
      • 3、创建Scala单例对象 - TestHelloWorld
  • 二、课后作业
    • 任务1、输出学生信息
    • 任务2、打印史努比

零、本讲学习目标

  1. 会搭建Scala的IntelliJ IDEA开发环境
  2. 会在集成开发环境里创建Scala项目
  • 在前面,我们都是利用Scala Shell交互式环境来学习Scala基础知识,虽然交互式有快捷的优点,但是要写比较完整的程序,编辑就显得极为不便,为了提高开发效率,我们要学会使用Scala的集成开发环境 - IntelliJ IDEA。

一、搭建Scala的IntelliJ IDEA开发环境

  • IntelliJ IDEA(简称IDEA)是一款支持Java、Scala和Groovy等语言的开发工具,主要用于企业应用、移动应用和Web应用的开发。IDEA在业界被公认为是很好的Java开发工具,尤其是智能代码助手、代码自动提示、重构、J2EE支持等功能非常强大。

(一)启动IDEA

  • 采用的是开源免费的IDEA 2020.1版本
    在这里插入图片描述

(二)安装Scala插件

  • Scala插件的安装有两种方式:在线与离线。我们学习在线安装方式。
  • 启动IDEA,在欢迎界面中选择Configure→Plugins命令
    在这里插入图片描述

在这里插入图片描述

  • 在上方的搜索框中搜索scala关键字
    在这里插入图片描述

  • 单击绿色的【Install】按钮,安装完毕,单击绿色的【Restart IDE】按钮
    在这里插入图片描述

  • 单击【Restart IDE】按钮,再次显示欢迎界面
    在这里插入图片描述

  • 课堂练习:安装scalafmt插件
    在这里插入图片描述

(三)配置IDEA使用的默认JDK

  • 启动IDEA后,选择欢迎界面下方的Configure→Structure for New Projects
    在这里插入图片描述

  • 在弹出的窗口中选择左侧的Project项,然后单击窗口右侧的New…按钮,选择JDK项,设置项目使用的默认JDK
    在这里插入图片描述

  • 为了和Scala2.13.10版兼容,建议选择JDK1.8(JDK11也是兼容的,但JDK13+不能兼容)
    在这里插入图片描述

  • 单击【OK】按钮,回到欢迎界面
    在这里插入图片描述

  • 至此,IDEA中的Scala插件安装完成

(四)创建Scala项目

1、创建Scala项目 - ScalaDemo

  • 在IDEA的欢迎界面中单击Create New Project按钮,在弹出的窗口中选择左侧的Scala项,然后选择右侧的IDEA项,单击Next按钮
    在这里插入图片描述

  • 在弹出的窗口中填写项目名称,选择项目存放路径。若Scala SDK项显示为Nolibrary selected,则需要单击其右侧的Create按钮,选择本地安装的Scala SDK。确保JDKScala SDK都关联成功。(之前我们在Windows安装了Scala2.13.10,位置:C:\Program Files (x86)\scala
    在这里插入图片描述

  • 单击【Finish】按钮,至此,Scala项目ScalaDemo创建成功
    在这里插入图片描述

2、创建Scala类 - HelloWorld

  • 在项目的src目录上右击,选择New→Package,创建一个包net.huawei.day01
    在这里插入图片描述

  • 在包net.huawei.day01上右击,选择New→Scala Class,创建一个Scala类HelloWorld
    在这里插入图片描述
    在这里插入图片描述

  • Scala类创建成功后,即可编写Scala程序,定义一个没有返回值的speak()方法
    在这里插入图片描述

3、创建Scala单例对象 - TestHelloWorld

  • 在包net.huawei.day01上右击,选择New→Scala Class,选择创建Object,创建一个Scala对象TestHelloWorld,在里面创建主方法,实例化HelloScala,然后调用其speak()方法
    在这里插入图片描述
    在这里插入图片描述
  • 运行TestHelloWorld,查看结果
    在这里插入图片描述
  • 使用JDK11,也是可以的
    在这里插入图片描述
  • 运行程序,查看结果
    在这里插入图片描述

二、课后作业

任务1、输出学生信息

  • 创建Scala单例对象PrintStudentInfo,输出学生信息
    在这里插入图片描述

任务2、打印史努比

  • 创建Scala单例对象Snoopy,输出可爱的史努比
    在这里插入图片描述

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

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

相关文章

linux高级命令之死锁

死锁学习目标能够知道产生死锁的原因1. 死锁的概念死锁: 一直等待对方释放锁的情景就是死锁为了更好的理解死锁,来看一个现实生活的效果图:说明:现实社会中,男女双方一直等待对方先道歉的这种行为就好比是死锁。死锁的结果会造成应用程序的停止响应&…

【vue】elemente-ui table toggleRowSelection 默认选择无效[已解决]

项目场景: 点击按钮,弹出一个弹出框,内部出现一个table表,表内数据是动态获取,同时得勾选上几个table表的数据,类似以下的图 问题描述 点击按钮显示弹出框,加载table中的数据,默…

【机器学习】Adaboost

1.什么是Adaboost AdaBoost(adapt boost),自适应推进算法,属于Boosting方法的学习机制。是一种通过改变训练样本权重来学习多个弱分类器并进行线性结合的过程。它的自适应在于:被前一个基本分类器误分类的样本的权值会…

springboot整合Chat Generative Pre-trained Transformer

什么是Chat Generative Pre-trained Transformer Chat Generative Pre-trained Transformer,是以人工智能驱动的聊天机器人程序 ,已经更新多个版本,很多大厂也都在接入其API。 整合难度 难度一颗星,基本上就是给官方API发请求&am…

在VMware Workstation中配置固定IP、在VMware Fusion中配置固定IP

1、在VMware Workstation中配置固定IP 配置固定IP需要2个大步骤: 1.在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围) 首先让我们,先进行第一步,跟随图片进行操作 现在进…

基于某业务单登陆场景并发测试实战

文章目录1 测试目的2 测试目标和测试对象3 名词解释4 测试说明5 测试环境和工具5.1 测试工具5.2 测试环境5.3 人力计划6 测试用例6.1 方案设计6.2 接口地址6.3 接口参数6.3.1 header参数6.3.2 请求参数7 脚本设计8 监控数据8.1 虚拟用户并发情况8.2 事务响应时间8.3 每秒点击次…

面试攻略,Java 基础面试 100 问(十二)

如何将字符串转换为基本数据类型? 调用基本数据类型对应的包装类中的方法 parseXXX(String)或 valueOf(String)即可返回相应基本类型; 如何将基本数据类型转换为字符串? 一种方法是将基本数据类型与空字符串(””)连…

微服务03 分布式搜索引擎 elasticsearch ELK kibana RestAPI RestClient

分布式搜索引擎01-- elasticsearch基础0.学习目标1.初识elasticsearch1.1.了解ES1.1.1.elasticsearch的作用elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容例如:在GitHub搜索代码…

半年前学习了性能测试涨薪5k, 经验+技术积累+坚持很重要

做测试一年多来,虽然平时的工作都能很好的完成,但最近突然发现自己在关于测试的整体知识体系上面的了解很是欠缺,所以,在工作之余也做了一些测试方面的知识的补充。不足之处,还请大家多多交流,互相学习。现…

系列三、docker相关指令

一、docker指令 1.1、查看docker详细信息 docker info 1.2、查看docker版本 docker version 1.3、帮助命令 docker --help 二、images指令 2.1、查看本地仓库中有哪些镜像 docker images 2.2、下载新的镜像 # 语法 docker pull 镜像名:版本号# 案例 docker pull mysql…

Node.js安装配置及Angular CLI的安装

NodeJS的安装node.js官网下载地址: https://nodejs.org/en/download/在node.js的官网上面下载适合自己机型的,如果是Windows系统的话,建议下载对应的 Windows Installer (.msi) 。下载完成后,双击打开安装,安装路径最好自定义&…

12款适合小团队协作、任务管理和进度跟踪的在线任务管理的工具推荐?

国内外12款主流任务管理软件测评: 1.开发任务管理PingCode; 2.多合一项目任务管理Worktile;3.个人和小团队项目任务管理Notion; 4.企业任务管理平台SmartTask; 5.小团队任务管理Teambition;6.IT任务追踪管理Jira等。无论是做好工作任务管理还是个人任务管理,从来都不…

Flink-多流转换(Union、Connect、Join)

文章目录多流转换分流基本合流操作联合(Union)连接(Connect)基于时间的合流——双流联结(Join)窗口联结(Window Join)间隔联结(Interval Join)窗口同组联结&a…

Git复习

1. 引言 现在要用到Git,复习一下关于Git的指令,知识摘自《Pro Git》 2. 起步 git和其他版本控制软件最大的差别在于git是直接记录某个版本的快照,而不是逐渐地比较差异。 安装: sudo apt install git-all设置用户信息: git c…

Vue3搭建记录

一、初始化项目:项目名称vue3-element-admin npm init vitelatest vue3-element-admin --template vue-ts 二、整合Element-Plus 1.本地安装Element Plus和图标组件 npm install element-plus npm install element-plus/icons-vue 2.全局注册组件 // main.ts imp…

【LeetCode】No.232. 用栈实现队列 -- Java Version

题目链接:https://leetcode.cn/problems/implement-queue-using-stacks/ 1. 题目介绍(232. 用栈实现队列) 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty)&#xff…

【前端】小程序开发入门:安装开发工具、目录结构与项目配置

文章目录前期准备目录结构app.jsonpageswindow其他前期准备 开发小程序要先申请一个对应的AppID:微信小程序 (qq.com) 微信官方小程序开发文档:微信开放文档 (qq.com) 然后安装一个小程序开发工具: 选择稳定版: 安装后打开&…

如何在SpringBoot项目上让接口返回数据脱敏,一个注解即可

1 背景需求是某些接口返回的信息,涉及到敏感数据的必须进行脱敏操作2 思路①要做成可配置多策略的脱敏操作,要不然一个个接口进行脱敏操作,重复的工作量太多,很显然违背了“多写一行算我输”的程序员规范。思来想去,定…

【linux】——gcc/g++,make/makefile的简单使用

目录 1.gcc的基本使用 2.Linux下的静态库和动态库的理解 3.Linux项目自动化构建工具——make/makefile 1.gcc的基本使用 gcc是专门用来编译c语言的 g是专门用来编译c的,但是g也能够用来编译c语言 预处理(进行宏替换) 预处理功能主要包括宏…

【前端提效】-- VsCode 实用插件推荐

EditorConfig for VS Code ***** 作用:多人协同开发,规范缩进风格,缩进大小,tab长度以及字符集等,解决不同IDE的编码范设置,在这里配置(.editorconfig)的代码规范规则优先级高于编辑…