Scala入门(详细笔记总结包括环境搭建)

4 篇文章 0 订阅
订阅专栏

1.1概述

1.1.1 为什么学习Scala

1)Spark—新一代内存级大数据计算框架,是大数据的重要内容。
2)Spark就是使用Scala编写的。因此为了更好的学习Spark, 需要掌握Scala这门语言。
3))Spark的兴起,带动Scala语言的发展!

1.1.2 Scala发展历史

联邦理工学院的马丁·奥德斯基(Martin Odersky)于2001年开始设计Scala。
马丁·奥德斯基是编译器及编程的狂热爱好者,长时间的编程之后,希望发明一种语言,能够让写程序这样的基础工作变得高效,简单。所以当接触到JAVA语言后,对JAVA这门便携式,运行在网络,且存在垃圾回收的语言产生了极大的兴趣,所以决定将函数式编程语言的特点融合到JAVA中,由此发明了两种语言(Pizza & Scala)。
Pizza和Scala极大推动了JAVA语言的发展。

1.1.3 Scala和JAVA的关系

在这里插入图片描述

JAVA个SCALA都需要经过各自的编译器进行编译,编译成.class的字节码文件。 JAVA和SCALA都是通过JVM执行字节码文件。

1.1.4 Scala 语言特点

Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言(静态语言需要提前编译的如:Java、c、c++等,动态语言如:js)。

1)Scala是一门多范式的编程语言,Scala支持面向对象和函数式编程。(多范式,就是多种编程方法的意思。有面向过程、面向对象、泛型、函数式四种程序设计方法。)

2)Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接。

3)Scala单作为一门语言来看,非常的简洁高效。

4)Scala在设计时,马丁·奥德斯基是参考了Java的设计思想,可以说Scala是源于Java,同时马丁·奥德斯基也加入了自己的思想,将函数式编程语言的特点融合到JAVA中, 因此,对于学习过Java的同学,只要在学习Scala的过程中,搞清楚Scala和Java相同点和不同点,就可以快速的掌握Scala这门语言。

1.2 Scala 环境搭建

1)安装步骤

(1)首先确保JDK1.8 安装成功
(2)下载对应的Scala 安装文件scala-2.12.11.zip
(3)解压scala-2.12.11.zip,我这里解压到D:\Tools
(4)配置Scala 的环境变量
在这里插入图片描述
在这里插入图片描述
注意1 :解压路径不能有任何 中文 路径,最好不要有空格 。
注意2 : 环境变量要大写 SCALA _HOME
测试:
启动cmd命令框,
输入scala:
在这里插入图片描述
在这里插入图片描述

1.2.1 编译Scala

在桌面创建HelloScala.scala文件,文件的内容如下:

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

Scala采用的是创建Object对象来执行的,定义主函数main,其中Unit代表的是参数返回类型,这个值代表的是JAVA的void,没有返回值。

在CMD命令框中解析该命令:
在这里插入图片描述

1.2.1 IDEA整合Scala

创建MAVEN工程,SDK选择JDK,创建好之后,点击File->Settings:在这里插入图片描述
选择Plugins,在里面搜索Scala,安装,之后重启IDEA即可生效。
在这里插入图片描述
接下来,在这个位置新建directory,名字取做scala,右键scala目录:
在这里插入图片描述
选择为Sources Root。
但是当前我们这个项目还是没有SCALA的依赖,因此需要再做一步。
接着右击我们所创建的项目->Add Framework Support。
在这里插入图片描述
选上Scala:
在这里插入图片描述
接下来在目录中就可以创建完整的Scala class:
在这里插入图片描述
新建HelloScala类,选择Obejct:
在这里插入图片描述
在创建好的类中,敲一个main,按TAB键,根据提示会自动补全:
在这里插入图片描述
对这一段的解释如下:

Object: 关键字,声明一个单例对象(伴生对象)
所写的main那一行的结构如下:
def 方法名称 (参数名称:参数类型) : 返回值类型 ={ 方法体 }
Array :Scala里面的集合
其中在Scala中,泛型使用[ ]表示

点绿色点头可直接运行,就能够输出Hello world啦~

补充:
在JAVA中的类库,在Scala中可以直接用:
在这里插入图片描述
例如可以采用JAVA的System.out.println,一样也是可以输出Hello Scala~

Scala开发入门教程
引路蜂移动软件
03-23 8万+
Scala语言和其它语言比如Java相比,算是一个比较复杂的语言,它是一个面向对象和面向函数的统一体,使用起来非常灵活,因此也不容易掌握,前面的58篇文章仅仅是Scala的一个入门教程,有了这些基础知识,你就可以开始编写Scala应用,学习一种语言最好的方法是通过实践来学习。为方便起见,下面列出这些文章,后面我们就分专题进一步介绍Scala编程。Scala开发教程(1): 开始神奇的Scala编程
Scala学习笔记Scala基础
lrxcmwy2的博客
08-28 8219
Scala基础:数据类型,变量常量,函数,条件表达式,循环,函数参数,Lazy特性,异常处理,数组,映射和元组
Scala基础入门:从零开始学习Scala编程
最新发布
weixin_41859354的博客
08-05 1779
Scala是由Martin Odersky于2003年设计的一种现代编程语言,其名称来源于“Scalable Language”(可扩展语言)。Scala运行在Java虚拟机(JVM)上,可以与Java进行无缝集成。它既支持面向对象编程,也支持函数式编程,允许开发者编写简洁、高效的代码。val:定义不可变变量(类似于Java中的finalvar:定义可变变量y = 30.5 // 允许修改// x = 15 // 不允许修改,会报错函数使用def// 函数体// 返回值使用class。
Scala入门教程---《chang哥教你一天搞定Scala
weixin_33964094的博客
07-19 243
《chang哥教你一天搞定Scala》 1 /** 2 * 《chang哥教你一天搞定Scala》 3 * scala是一门多范式编程语言,集成了面向对象编程和函数式编程等多种特性。 4 * scala运行在虚拟机上,并兼容现有的Java程序。 5 * Scala源代码被编译成java字节码,所以运行在JVM上,并可以调用现有的Java类库。...
Scala学习笔记
weixin_44342332的博客
05-09 613
一、概述 Scala语言特点 Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言(静态语言需要提前编译的如: Java、 c、 c++等, 动态语言如: js)。 1)Scala是一门多范式的编程语言,Scala支持面向对象和函数式编程。(多范式,就是多种编程方法的意思。有面向过程、面向对象、泛型、函数式四种程序设计方法。) 2)Scala源代码(.scala)会被编译成Java字节码(.class) ,然后运行于JVM之上,并可以调用现有的J
Scala 的学习笔记
weixin_45866849的博客
11-15 4270
ScalaScalable Language 的简写,是一门多范式的编程语言。Scala 是一种纯面向对象的语言,每个值都是对象。对象的数据类型以及行为由类和特质描述。类抽象机制的扩展有两种途径:一种途径是子类继承,另一种途径是灵活的混入机制。这两种途径能避免多重继承的种种问题。Scala 也是一种函数式语言,其函数也能当成值来使用。Scala 提供了轻量级的语法用以定义匿名函数,支持高阶函数,允许嵌套多层函数,并支持柯里化。
Scala初学者入门课程笔记
11-18
下面是 Scala 初学者入门课程笔记总结环境搭建 在开始学习 Scala 之前,需要先搭建环境。Scala 的官方网站提供了 Scala SDK 的下载地址,可以选择适合自己操作系统的版本。另外,还需要下载 Idea 的 Scala ...
尚硅谷Scala语言课程笔记环境搭建与基础概念解析
"尚硅谷Scala语言课程的学习笔记,涵盖了Scala的概述、开发环境搭建、开发工具、快速入门、源码查看、注释规范以及变量的基本使用等核心内容。笔记旨在帮助学习者理解Scala语言的特点和基础操作,同时也提供了一些...
Python入门:Spark大数据处理与环境搭建详解
Python学习笔记——大数据之Spark简介与环境搭建 Spark是Apache组织中最受欢迎的大数据处理计算框架,其核心地位在于支持离线计算、交互式查询、数据挖掘、流式计算和图计算等多种大数据应用场景。Spark的设计理念...
Scala笔记
Master__0的博客
03-28 647
Scala第一章节 章节目标 理解Scala的相关概述 掌握Scala环境搭建 掌握Scala小案例: 做最好的自己 1. Scala简介 1.1 概述 ​ Scala(斯嘎拉)这个名字来源于"Scalable Language(可伸缩的语言)", 它是一门基于JVM的多范式编程语言, 通俗的说: Scala是一种运行在JVM上的函数式的面向对象语言. 它集成了面向对象编程和面向函数式编程的各种特性, 以及更高层的并发模型. ​ 总而言之, Scala融汇了许多前所未有的特性, 而同时又运行于JV
Scala学习笔记(全)
01-08
该文档详细的讲述了Scala的基础操作方法和高级使用方法
Python入门:Spark大数据处理详解与环境搭建
Spark凭借其高效的数据处理能力、易用的API支持(包括Scala、Java和Python)以及丰富的生态系统,成为了大数据时代不可或缺的一部分,吸引了众多数据科学家和开发者选择它作为解决大数据问题的首选工具。
scala入门教程
tortelee的博客
01-30 438
官网教程:http://docs.scala-lang.org/tour/basics.html *********官网还是非常人性化的,可以直接运行调试代码。******************** val,是value的简称,表示一个数值,可以定义类型,但是不能修改。val x:Int = 2 var,是variables的简称,表示一个变量,也是可以定义类型,也可以修改。
Scala 学习笔记
weixin_34112030的博客
12-05 159
2019独角兽企业重金招聘Python工程师标准>>> ...
scala学习笔记
大屁孩的博客
08-20 251
Array 数组 object Test1_array extends App { var a = Array("sj", 1, "lalala") for(i <- a){ println(i) } } object Test4_array_3 extends App { // map val array = Array[Int]( 2,4,6,8,10 ) ...
写文章

热门文章

  • 快速排序(详细讲解) 104578
  • Hive数据导入/插入数据(重点) 21522
  • SQL-UNION ALL操作 21204
  • Hive-编写UDF函数(详细教程~~~) 11456
  • JAVA接口继承接口 6702

分类专栏

  • 配置安装 10篇
  • JAVA 18篇
  • SQL 14篇
  • Spark 3篇
  • Hive 43篇
  • hadoop 15篇
  • SpringBoot 13篇
  • Spring 1篇
  • Leetcode 13篇
  • Scala 4篇
  • Linux 17篇
  • Flume 2篇
  • 剑指offer 23篇

最新评论

  • 解决Mac下载官网JDK速度过慢的问题

    qq_23147325: 有没有jdk1.8 mac 版本 ,一直找不到 ,邮箱 1458543744@qq.com ,跪谢

  • 快速排序(详细讲解)

    平烦..: 如果是奇数个数,去掉那个基准数,就是偶数个数,这样两个哨兵不会站在一个位置碰头怎么办

  • Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object

    舒奇Q: 这样操作会影响之后使用lzo吗?

  • SQL-UNION ALL操作

    不服输的粥粥: get,谢谢

  • Hive中的排序:order by/sort by/cluster by

    F0407fcf: 怎么永久显示在哪个数据库中

最新文章

  • 微服务-Gradle的入门和使用
  • 解决Mac下载官网JDK速度过慢的问题
  • 阿里两道面试sql题
2023年8篇
2022年12篇
2021年129篇
2020年42篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦里Coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家济源卡通玻璃钢雕塑米奇雕塑玻璃钢雕塑厂家太原市气球商场美陈阜阳定制玻璃钢雕塑价位玻璃钢花盆制作雪糕浙江玻璃钢卡通雕塑动漫雕刻宜宾玻璃钢雕塑设计新密校园玻璃钢景观雕塑定做张家口玻璃钢雕塑公司山东人物玻璃钢雕塑销售厂家安徽水果玻璃钢雕塑市场北京商场创意商业美陈定制三门峡镜面玻璃钢仿铜雕塑厂家泰州商场美陈报价长乐玻璃钢雕塑厂家太湖玻璃钢抽象雕塑汕头玻璃钢卡通雕塑现货琼海玻璃钢雕塑给您好的建议玻璃钢卡通龙雕塑知乎吉林景区玻璃钢雕塑销售厂家张家界校园玻璃钢雕塑定制重庆玻璃钢泡沫雕塑厂河北玻璃钢动物雕塑公司情人节商场美陈主持稿玻璃钢雕塑水果造型上海室内商场美陈费用驻马店玻璃钢卡通雕塑厂家地址合肥个性化玻璃钢雕塑定制嘉陵玻璃钢花盆花器松江区镜面玻璃钢雕塑信息推荐香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化