0 下载地址: http://www.scala-lang.org/download/
1 概念:
可伸缩的语言是一种多范式的编程语言,一种类似java的编程,设计初衷是要集成面向对象编程和函数式编程的各种特性(来在百度百科,基本没看懂这概念表达个啥出来)
2 特点:
a) 能调用java
b) 面向对象+函数式编程
c) 语法简洁
d)支持并发控制(为spark支持提供保证)
e)静态类型化(多声明常量 少声明变量)
f) 强类型语言,必须定义类型
g) 所有变量都是对象,所有操作都是方法
3 安装: 下载后,双击 scala-2.11.1.msi安装即可,然后将按照后的bin目录配置到机器path变量中
4 安装后验证:
5 语法:
a)数值类型(没有首字母小写,这点要和java区别)
整数值: Byte, Short, Int, Long (和java类型长度一致, 定义Long类型写法: val num = 32L)
浮点型: Double, Float(和java类型长度一致,默认类型为Double,定义Float写法: val num = 1.2F)
布尔: Boolean(true/false)
字符: Char String
b) 声明与赋值
操作 | 操作符 | 案例 | 说明 |
声明常量 | val |
val a:Int = 3 val a = 3 类型可省略不写,如果不写,则走的是默认类型 |
val 变量的值只能初始化一次,再次赋值就发生错误, 类似于java中的 staitc final字段
|
声明变量 | var | var msg="hello" |
可以随时修改, 和java变量一样 |
声明函数 |
def
def 函数名(参数a:类型,参数b:类型):函数返回值类型={函数体} |
最后的Int表示方法返回值类型
def max(x: Int, y: Int): Int = if(x < y) y else x
|
调用写法: max(3,8)
|
声明类型 | type | ||
声明类 | class | ||
声明对象 | object |
c) 操作符
数学操作符 | + - * / % |
比较操作符 | < <= > >= |
逻辑操作符 | && || |
对等操作符 | == != |
位操作符 | & | ^ ~ |
形如 +=的操作符重载,会被认为是赋值操作符而具有最低优先级 m*=n +5 等价于 m*=(n+5) 和java一样 |
相关推荐
Scala内核支持语法高亮、自动补全、代码执行以及丰富的可视化输出,极大地提高了开发效率。 在使用Scala内核时,需要注意的是,你需要确保系统已经安装了Scala编译器(Scala SDK)和SBT(Scala构建工具)。这些组件...
Scala是一种多范式的编程语言,与Java API相比,它的语法更加简洁,且更适合函数式编程。 8. **部署与运行**:Flink可以本地运行,也可以在分布式环境中如YARN、Kubernetes或独立集群部署。"bin"目录下通常包含启动...
5. **SQL支持**:Flink SQL 提供了基于标准SQL的查询接口,使得非Java/Scala背景的开发者也能轻松上手。Flink 1.7.2 对SQL支持进行了改进,增强了语法兼容性,使得分析任务更加直观和便捷。 6. **性能优化**:Flink...
该版本对SQL标准的兼容性进一步增强,使得熟悉SQL语法的用户能够快速上手。 在容错和调度方面,Flink 1.11.1 提供了一流的故障恢复策略,包括检查点和保存点,确保在节点故障时能够快速恢复。其优化的调度算法能够...
这些章节涵盖了Scala的基础概念,如基本语法、类型系统、对象和类、模式匹配、函数和高阶函数等。对于初学者来说,这些章节提供了很好的指导,帮助他们快速上手Scala编程。 "面向Java开发人员的Scala指南-p178.pdf...
总的来说,"Scala_day01.docx"这份文档应该涵盖了Scala的基本语法、函数式编程特性、并发模型以及与其他Java技术的互操作性等方面的内容。通过深入学习,初学者将能够掌握Scala的核心概念,并开始编写自己的Scala...
这些标签暗示了压缩包中的内容可能包括基础语法、类和对象、模式匹配、高阶函数、集合操作、 Actors模型、 Futures和Promises等常见Scala编程主题。 压缩包内的文件名为"scalaDemo",这可能是一个单一的源代码文件...
使用Flink 1.9.1时,开发者可以通过Scala API来编写数据处理程序,这个版本支持Scala 2.12,意味着你可以利用最新的Scala特性,如更好的类型推断、更友好的语法以及对Java 8特性的更好支持。此外,Flink的DataStream...
这本书旨在帮助读者快速掌握Scala的核心概念和语法,从而能够有效地利用Scala进行开发工作。Scala是一种多范式编程语言,它融合了面向对象和函数式编程的特点,广泛应用于大数据处理、分布式计算和现代Web应用等领域...
解压并安装后,开发者可以通过命令行或者集成开发环境(IDE)如IntelliJ IDEA或Eclipse来使用Scala。 在使用Scala_2.11.8进行开发时,开发者可以利用其丰富的库支持,比如Spark用于大数据处理,Play Framework用于...
Python则是一种通用编程语言,因其简洁易读的语法和丰富的库支持,常被用作快速开发和原型设计的工具,特别是在科学计算和数据分析领域。 在RISC-V处理器的开发过程中,Scala可能被用来编写硬件描述语言(HDL),如...
在Scala编程学习路径中,文档列出了从Scala的基本语法、函数式编程、面向对象编程,到高级特性如特质、包和引用的逐步深入学习。例如,学习Scala的第一步可能包括学习如何使用Scala解释器、定义变量和函数,以及编写...
- **可扩展性**: Scala的设计允许用户自定义语法,通过扩展语法可以轻松添加新的类型和控制结构。 #### 入门指南 - **学习使用Scala解释器**: 使用Scala REPL (Read-Eval-Print Loop) 快速实验代码。 - **变量定义*...
- **轻量级匿名函数**: Scala提供了一种简洁的语法用于定义匿名函数,这使得函数式编程变得更加容易。 - **高阶函数支持**: Scala支持高阶函数,即函数可以作为参数传递给其他函数,也可以作为返回值从函数中返回。 ...
3. **模式匹配**:Scala的模式匹配是一种强大的语法构造,可以用于数据解析,解构,和switch语句的替代。 4. **高阶函数**:函数在Scala中被视为一等公民,可以作为参数传递,也可以作为返回值。 5. **特质...
在深入学习这个工具箱之前,你需要先熟悉Scala和JavaScript的基本语法,特别是函数式编程相关的概念。对于Scala,了解如何定义和使用高阶函数、理解不可变数据结构如List、Set、Map,以及掌握模式匹配和类型推断是...
1. **类型安全的SQL语句**:使用Scala的字符串模板和类型系统,可以创建类型安全的SQL语句,编译时就能检测出SQL语法错误和类型不匹配问题。 2. **自动参数绑定**:通过`@Bind`注解,Jdbi Scala能够自动将方法参数...
虽然Scala是基于Java的,但Scala提供了一套与Java不同的语法和类库,这要求学习Scala的开发者了解其与Java的相同点和不同点。 为了使用Scala进行开发,需要进行环境搭建。这包括安装Java开发工具包(JDK)版本1.8或...
1. **Scala.js**: Scala.js是Scala编程语言的一个编译器插件,它允许开发者使用Scala语法编写前端代码,并将其编译成可执行的JavaScript代码。这使得开发者可以利用Scala的强大特性和类型系统来开发Web应用,同时...
Scala的语法简洁且富有表达力,支持高阶函数、模式匹配、类型推断等特性,使其成为学习和应用范畴论的理想工具。 **范畴论基础:** 范畴论是一门研究结构和结构之间映射的数学理论,它抽象了数学中的基本概念,如...