Scala

发布时间:2022-06-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Scala脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

第一章 Scala 入门

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编程语言的发展。
  • JDK5.0 的泛型、增 强for循 环、自动类型转换等,都是从Pizza引入的新特性。
  • JDK8.0 的类型推断、Lambda表达式就是从Scala引入的特性。
JDK5.0和JDK8.0的编辑器就是马丁·奥德斯基写的

1.1.3 Scala 和 Java 关系

一般来说,学 Scala 的人,都会 Java,而 Scala 是基于 Java 的,因此我们需要将 Scala和 Java 以及 JVM 之间的关系搞清楚,否则学习 Scala 你会蒙圈。

Scala

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的@R_512_2638@,搞清楚Scala和Java相同点和不同点,就可以快速的掌握Scala这门语言。

1.2 Scala 环境搭建

https://blog.csdn.net/weixin_43586713/article/details/121148162

1.3 HelloWorld 案例

1.3.1 创建 IDEA 项目工程

1)打开 IDEA->点击左侧的 Flie->选择 New->选择 PRoject…2)创建一个 Maven 工程,并点击 next
3)GroupId 输入 com.atguigu->ArtifactId 输入 scala->点击 next->点击 Finish注意:工程存储路径一定不要有中文和空格。
4)指定项目工作目录空间
5)默认下,Maven 不支持 Scala 的开发,需要引入 Scala 框架。在项目上,点击右键-> Add Framework Support... ->选择 Scala->点击 OK
 注意:如果是第一次引入框架,Use libary 看不到,需要选择你的 Scala 安装目录,然后工具就会自动识别,就会显示 user libary。
6)创建项目的源文件目录右键点击 main 目录->New->点击 Diretory -> 写个名字(比如 scala)。右键点击 scala 目录->;mark Directory as->选择 Sources root,观察文件夹颜色发生变化。
7)在 scala 包下,创建包 com.atguigu.chapter01 包名和 Hello 类名
8)编写输出 Hello Scala 案例在类中中输入 main,然后回车可以快速生成 main 方法;
在 main 方法中输入 println("hello scala")
/*
   object: 关键字,声明一个单例对象(伴生对象)
 */
object HelloWorld {
  /*
    main 方法:从外部可以直接调用执行的方法
    def 方法名称(参数名称: 参数类型): 返回值类型 = { 方法体 }
   */
  def main(args: Array[String]): UnIT = {
    println("hello world")
    System.out.println("hello scala From java")
  }
}

 

 
 

脚本宝典总结

以上是脚本宝典为你收集整理的Scala全部内容,希望文章能够帮你解决Scala所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。