欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > Scala核心技术总结(1)

Scala核心技术总结(1)

2025/4/3 14:46:46 来源:https://blog.csdn.net/2501_90098537/article/details/146872511  浏览:    关键词:Scala核心技术总结(1)

第1章 Scala入门

 1.1 Scala概述
为什么学习Scala:
Spark框架是用Scala编写的,学习Scala有助于更好地理解和学习Spark。
Scala结合了面向对象和函数式编程的特性,是一种多范式编程语言。
Scala基于JVM,可以与Java无缝交互,兼容Java类库。

Scala发展历史:
由Martin Odersky设计,融合了函数式编程和面向对象编程的特点。
Scala推动了Java语言的发展,例如Java 8中的Lambda表达式和类型推断。

 1.2 Scala与Java的关系
Scala运行于JVM上,可以调用Java类库。
Scala的代码会被编译为Java字节码(.class文件)。
Scala比Java更简洁高效,支持更灵活的语法。

 1.3 Scala环境搭建
1. 安装JDK 1.8。
2. 下载并解压Scala安装包。
3. 配置环境变量(SCALA_HOME和PATH)。
4. 测试安装:在命令行输入scala,启动Scala交互环境。

 1.4 HelloWorld案例
创建IDEA项目,引入Scala框架。
编写第一个Scala程序:

 

scala
object Hello {
def main(args: Array[String]): Unit = {
println("hello scala")
}
}



 1.5 Class和Object说明
Scala是完全面向对象的语言,去掉了static关键字,用object实现类似静态方法的功能。
无返回值的函数返回类型为Unit。



 第2章 变量和数据类型

 2.1 注释
单行注释://
多行注释:/* */
文档注释:/ */

 2.2 变量和常量
变量:用var声明,值可变。

 

scala
var age: Int = 18


常量:用val声明,值不可变。
 

scala
val name: String = "Alice"



 2.3 标识符命名规范
以字母或下划线开头,后接字母、数字、下划线。
可以用反引号包含关键字作为标识符。

 2.4 字符串输出
字符串拼接:+
插值字符串:s"name=$name"
多行字符串:用三个双引号包围,支持换行和格式化。

 2.5 数据类型
Scala数据类型分为两大类:
值类型(AnyVal):如Int、Double、Boolean等。
引用类型(AnyRef):如String、List等。
特殊类型:
Unit:表示无返回值,类似Java的void。
Null:所有引用类型的子类。
Nothing:所有类型的子类,用于异常处理。

 2.6 类型转换
自动类型转换:低精度向高精度转换。
强制类型转换:用.toInt、.toDouble等方法。
字符串与数值转换:

 

scala
val num = "123".toInt
val str = 123.toString



 第3章 运算符

 3.1 算术运算符
+、-、*、/、%。
整数除法会舍弃小数部分。

 3.2 关系运算符
==、!=、>、<、>=、<=。
Scala中的==类似于Java的equals,比较值而非引用。

 3.3 逻辑运算符
&&(与)、||(或)、!(非)。

 3.4 赋值运算符
=、+=、-=、*=、/=等。
Scala没有++和--,用+= 1和-= 1代替。

 3.5 位运算符
&、|、^、~、<<、>>、>>>。

 3.6 运算符本质
Scala中运算符是方法调用,例如a + b等价于a.+(b)。



 第4章 流程控制

 4.1 分支控制(if-else)
单分支:

 

scala
if (age < 18) {
println("童年")
}



多分支:
 

scala
if (age < 18) {
println("童年")
} else if (age < 30) {
println("青年")
} else {
println("老年")
}




 4.2 循环控制
 

for循环:
scala
for (i <1 to 5) {
println(i)
}



while循环:
 

scala
var i = 0
while (i < 5) {
println(i)
i += 1
}



循环中断:用Breaks.break()实现。

 4.3 模式匹配(match-case)
类似于Java的switch,但更强大:

scala
val result = operator match {
case '+' => a + b
case '-' => a b
case _ => "非法操作符"
}



 总结
前四章内容涵盖了Scala的基础语法、数据类型、运算符和流程控制,为后续学习函数式编程和面向对象编程奠定了基础。Scala的简洁性和强大的表达能力使其成为大数据开发的重要工具。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词