liudehaos

还历史以真诚,还生命以过程。 ——余秋雨
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Scala学习第一天(Hello world)

Posted on 2022-07-20 19:46  liudehaos  阅读(76)  评论(0编辑  收藏  举报

一、Scala介绍

1. Scala概念

Scala 是 Scalable Language 的简写,是一门多范式的编程语言 联邦理工学院洛桑(EPFL)的Martin Odersky于2001年基于Funnel的工作开始设计Scala。 Scala是把函数式编程思想和面向对象编程思想结合的一种编程语言。 大数据计算引擎Spark由Scala编写

2. Scala特点:

多范式 面向对象 函数式编程

兼容JAVA 类库调用 互操作

语法简洁 代码行短 类型推断 抽象控制

静态类型化 可检验 安全重构

支持并发控制 强计算能力 自定义其他控制结构

3. Scala OO+FP:

在面向对象编程中,我们把对象传来传去,那在函数式编程中,我们要做的是把函数传来传去,而这个,说成术语,我们把他叫做高阶函数。 在函数式编程中,函数是基本单位,,他几乎被用作一切,包括最简单的计算,甚至连变量都被计算所取代。在函数式编程中,变量只是一个名称,而不是一个存储单元,这是函数式编程与传统的命令式编程最典型的不同之处。

4. scala和java

 

5.Scala在IDEA中的使用

在idea中增加scala插件

 在pom中增加Scala和java的编译插件

            <!-- Java Compiler -->

            <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-compiler-plugin</artifactId>

                <version>3.1</version>

                <configuration>

                    <source>1.8</source>

                    <target>1.8</target>

                </configuration>

            </plugin>

 

            <!-- Scala Compiler -->

            <plugin>

                <groupId>org.scala-tools</groupId>

                <artifactId>maven-scala-plugin</artifactId>

                <version>2.15.2</version>

                <executions>

                    <execution>

                        <goals>

                            <goal>compile</goal>

                            <goal>testCompile</goal>

                        </goals>

                    </execution>

                </executions>

            </plugin>

6.Scala代码,以HelloWord为例

package
com.shujia.scala.classData object Demo1Helloworld { /** * * def 定义方法的关键字 * main 方法名 * args 参数 * Array[String] 参数类型 [String] 泛型 * Unit 相当于void * * main 必须放在object 里面才能运行 * */ def main(args: Array[String]): Unit = { //scala中写输出 println("helloworld") //java方式 System.out.println("helloworld") } }
在pom中增加Scala和java的编译插件
            <!-- Java Compiler -->            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-compiler-plugin</artifactId>                <version>3.1</version>                <configuration>                    <source>1.8</source>                    <target>1.8</target>                </configuration>            </plugin>
            <!-- Scala Compiler -->            <plugin>                <groupId>org.scala-tools</groupId>                <artifactId>maven-scala-plugin</artifactId>                <version>2.15.2</version>                <executions>                    <execution>                        <goals>                            <goal>compile</goal>                            <goal>testCompile</goal>                        </goals>                    </execution>                </executions>            </plugin>