Scala基础知识


1.Scala简介

Scala是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数编程的各种特性。
Scala运行在Java虚拟机上,并兼容现有的Java程序。
Scala源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库。
函数编程范式更适合用于Map/Reduce和大数据模型,它摒弃了数据与状态的计算模型,着眼于函数本身,而非执行的过程的数据和状态的处理。函数范式逻辑清晰、简单,非常适合用于处理基于不变数据的批量处理工作,这些工作基本都是通过map和reduce操作转换数据后,生成新的数据副本,然后再进行处理。
像Spark,Flink,kafka等都是采用Scala开发的,所以学习好大数据,掌握scala是必要的。
官网:http://scala-lang.org/

2.Scala安装与验证

  • 下载路径
https://www.scala-lang.org/download/2.11.8.html

在这里插入图片描述

  • 安装

    • 要求
      不能安装在带有中文或者空格的目录下面,不然会报错,scala命令找不到。
      在这里插入图片描述
  • jdk必须安装

  • 添加环境变量

在这里插入图片描述
在这里插入图片描述

  • 验证

在这里插入图片描述
出现上述效果,即scala安装成功。

3.scala的IDE

3.1普通的学习开发–Notepad++

入门案例—Hello World

object HelloWorld {
	def main(args:Array[String]): Unit = {
		println("Hello World~")
	}
}
/*
public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("Hello World~");
	}
}
*/

编译执行

E:\work\1906-bd\2019-10-31-[scala]\代码>scalac HelloWorld.scala

E:\work\1906-bd\2019-10-31-[scala]\代码>scala HelloWorld
Hello World~

现象:
在这里插入图片描述
.java文件经过javac编译之后只会产生一个.class字节码文件,但是.scala文件经过scalac编译之后会产生两个.class文件。

HelloWorld.class
在这里插入图片描述

HelloWorld$.class
在这里插入图片描述

通过反编译软件,我们可以看出来,HelloWorld.scala,在执行的时候需要调用哪个.class,需要调用不带 的 . c l a s s 字 节 码 文 件 , 带 的.class字节码文件,带 .class的.class是scala编译之后的文件,不带$的.class是jvm和scala文件运行的纽带。

3.2高级开发工具–Idea/Eclipse

“工欲善其事必先利其器”,要高效的开发scala程序,一款优秀的IDE是必不可少的,目前使用最为广泛的是IDEA,当然Eclipse的覆盖率也很高,全面采用IDEA作为Scala、Spark、Hadoop等开发的利器。
scala版本的Eclipse:
http://scala-ide.org/
IDEA
http://www.jetbrains.com/idea/download/#section=windows
选择版本IdeaIU-2018.1.3b,需要在idea中添加scala插件
scala-intellij-bin-2018.1.3.zip
注意:
将全面采用IDEA+Maven构建项目,所以需要预先在idea中配置好scala的maven环境

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

(YSY_YSY)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值