• Scala基础【入门及安装】


    一 Scala入门

    1 什么是Scala

    从英文的角度来讲,Scala并不是一个单词,而是Scalable Language两个单词的缩写,表示可伸缩语言的意思。从计算机的角度来讲,Scala是一门完整的软件编程语言,那么连在一起就表示Scala是一门可伸缩的软件编程语言。之所以说它是可伸缩,是因为这门语言体现了面向对象,函数式编程等多种不同的语言范式,且融合了不同语言新的特性。

    Scala编程语言是由联邦理工学院洛桑(EPFL)的Martin Odersky于2001年基于Funnel的工作开始设计并开发的。由于Martin Odersky之前的工作是开发通用Java和Javac(Sun公司的Java编译器),所以基于Java平台的Scala语言于2003年底/2004年初发布。

    Scala官网:https://www.scala-lang.org/

    目前大数据主要的批处理计算引擎框架Spark是基于Scala语言开发的,主要的流式计算引擎框架Flink也提供了Scala相应的API, 并且大数据领域中函数式编程的开发效率更高,更直观,更容易理解。

    Martin Odersky是狂热的编译器爱好者,长时间的编程后,希望开发一种语言,能够让写程序的过程变得简单,高效,所以当接触到Java语言后,感受到了这门语言的魅力,决定将函数式编程语言的特性融合到Java语言中,由此产生了2门语言(Pizza & Scala),这两种语言极大地推动了Java语言的发展

    • JDK1.5的泛型,增强for循环,自动类型转换等都是从Pizza语言引入的新特性
    • JDK1.8的类型推断,λ(lambda)表达式是从Scala语言引入的新特性

    由上可知,Scala语言是基于Java开发的,所以其编译后的文件也是字节码文件,并可以运行在JVM中。

    2 scala安装

    (1)环境安装

    安装JDK1.8
    解压文件:scala-2.12.11.zip,解压目录要求无中文无空格
    配置环境变量
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在windows下运行cmd,输入以下命令,出现下图信息表示安装成功。
    在这里插入图片描述

    (2)Scala插件安装

    默认情况下IDEA不支持Scala的开发,需要安装Scala插件。
    File-Settings-搜索Scala-点击右侧按钮(install)
    在这里插入图片描述

    如果下载慢,请访问网址:https://plugins.jetbrains.com/plugin/1347-scala/versions

    (3)hello scala

    ① 创建maven项目

    ② 增加Scala框架支持

    默认情况,IDEA中创建项目时不支持Scala的开发,需要添加Scala框架的支持。

    在项目名字上右键,选择scala,将scala安装目录配置进去
    在这里插入图片描述在这里插入图片描述

    ③ 创建类

    package com.hike.bigdata.scala.chapter01
    
    object Scala01_HelloWorld {
      def main(args: Array[String]): Unit = {
        System.out.println("Hello Scala World")
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    BUUCTF SimpleRev
    [附源码]java毕业设计时事资讯平台
    VoLTE基础自学系列 | RTP及RTCP协议原理
    爬虫实战:从外地天气到美食推荐,探索干饭人的世界
    java毕业设计驾校管理(附源码、数据库)
    【Android Framework系列】第17章 Android Q沙箱模式(Scoped Storage)
    计算机视觉:一文搞懂卷积神经网络中的池化层
    灵性图书馆:好书推荐-《零极限》
    Echarts可视化项目,Echarts-社区热销排行top效果,销售统计,销售统计sales 线形图,
    神经网络的数学基础资料,神经网络的数学理论
  • 原文地址:https://blog.csdn.net/weixin_43923463/article/details/125509107