Scala简介
Scala,一种将面向对象编程和函数式编程融为一体的高级语言,正受到越来越多开发者的青睐。它以其简洁、优雅的语法和类型安全的保证,成为了构建大型系统和编写简单脚本的理想选择。
Scala运行于Java平台,能够与Java库无缝集成。由于其在Spark等大数据处理框架中的重要应用,学习Scala对于处理现代数据密集型应用至关重要。
安装Scala
在安装Scala之前,确保系统已安装JDK。以下是Windows和CentOS7下Scala的安装步骤:
Windows安装Scala
- 下载Scala安装包
scala-2.12.7.msi
。 - 安装并配置环境变量
SCALA_HOME
和Path
。 - 测试安装是否成功,通过执行
scala -version
。
CentOS7安装Scala
- 下载Scala安装包
scala-2.12.7.tgz
。 - 解压到
/opt/modules/
目录。 - 配置环境变量
SCALA_HOME
和PATH
。 - 测试安装是否成功。
Scala基础
变量声明
在Scala中,使用val
声明不可变变量,使用var
声明可变变量。例如:
val str = "hello scala"
var x, y = "hello scala"
数据类型
Scala是强类型语言,所有变量在声明时都需要指定或推断类型。Scala的类型系统包括:
Any
:所有类型的根类型。AnyVal
:值类型的父类型,如Int
、Double
等。AnyRef
:所有引用类型的父类型,对应Java的Object
。Nothing
:所有类型的子类型,表示没有实例的类型。Null
:所有引用类型的子类型,表示空值。
表达式
Scala支持条件表达式和块表达式。例如,块表达式:
val result = {
val a = 10
val b = 10
a + b
}
循环
Scala提供了for
、while
和do-while
循环。例如,for
循环:
for (i <- 1 to 5) println(i)
方法与函数
Scala区分了方法和函数。方法属于类或对象,而函数是一等公民,可以赋值给变量。例如,定义一个方法:
def addNum(a: Int, b: Int): Int = {
a + b
}
定义一个函数:
val addFunc = (a: Int, b: Int) => a + b
集合操作
Scala强大的集合库提供了丰富的操作,包括数组、列表、映射、元组和集合等。
数组
Scala数组分为定长和变长数组。例如,使用定长数组:
val arr = Array(1, 2, 3)
arr.sum
arr.max
列表
列表分为可变列表和不可变列表。例如,创建不可变列表并进行操作:
val nums: List[Int] = List(1, 2, 3, 4)
val nums2 = 1 +: nums
映射
映射(Map)同样分为可变和不可变类型。创建不可变映射:
val mp = Map(
"key1" -> "value1",
"key2" -> "value2"
)
元组
元组是不同类型对象的固定大小集合。定义和访问元组:
val t = (1, "scala", 2.6)
println(t._1)
集合
集合存储不重复的对象。创建和操作集合:
val set = Set(1, 2, 3)
val set1 = set + 4
类和对象
类定义
Scala中类的定义使用class
关键字。例如:
class User {
private var age = 20
def count() {
age += 1
}
}
单例对象
Scala中单例对象使用object
关键字定义,可以视为没有构造器的类:
object Person {
private var name = "zhangsan"
def showInfo(): Unit = {
println(s"姓名:$name")
}
}
抽象类和特质
抽象类使用abstract
关键字定义,特质使用trait
定义。例如,定义一个抽象类:
abstract class Person {
var name: String
def speak()
}
定义一个特质:
trait Pet {
var name: String
def run()
}
Scala以其独特的编程范式和强大的集合操作能力,成为了现代软件开发中的重要语言。本文仅触及了Scala编程的皮毛,更多的高级特性和最佳实践等待着我去探索。
标签:定义,val,Scala,Int,类型,集合,操作 From: https://www.cnblogs.com/xiaoyu-w/p/18263374