SCALA程序设计 第三章:控制结构和函数

简介: SCALA程序设计 控制结构和函数

1、在Scala中,几乎所有的语法结构都有值。

   注意:Scala行尾不需要分号,如果单行中写多个语句,则需要分号分割,()一行表达式,{}多行表达式

           Scala并没有提供break和continue语句,如果需要break可以用:

               1)使用Boolean类型的控制变量

               2)使用嵌套函数,从函数中return

               3)使用Breaks对象的break方法

2、if else语句返回类型取决于最后一条语句,如果返回类型不一样,就返回Any类型(所有类型的公共超类型),如果缺少一个判断,什么都没有返回,Scala认为任何表达式都会有值,对于空值使用Unit类,

写做()【叫做无有用占位符,相当于Java的void】

3、while语句本身没有值,整个while结果是Unit类型()。do...while(do至少执行一次)

4、for循环的特性被称为for推导式(for comprehension)或for表达式(for expression)

   1)像 变量名 <- 集合 被称为生成器表达式,基于集合生成单独的数值。

   2)保护式,也叫守卫,可以添加一个或多个守卫,不需要continue语句。

   3)使用yield关键字能在for表达式中生成新的集合。for-yield表达式所生成的集合类型将根据被遍历的集合类型推导而出。

   4)for推导式不成文约定:单行表达式用(),多行表达式用{}表达式之间必须用分号隔开

5、函数:def 函数名(参数名:类型)[:返回类型] = {函数体}

   注意:1)Scala可以通过=右边的表达式推断出函数的返回类型。如果函数体需要多个表达式,可以用代码块{}

       2)可以把return当做函数版本的break语句。

       3)递归函数一定要指定返回类型。

       4)变长参数通过*来指定,所有参数会转化为一个Seq序列

       5)_* 高速编译器Range当做参数序列化处理。

       6)Head是活的首元素,Tail是获取剩下元素的序列。

6、过程:将不返回值的函数叫做过程,返回类型是Unit,他是没有=号的。

7、懒值:当val被声明为lazy时,他的初始化将被推迟,直到我们首次对此取值

   注意:1)用于初始化开销比较大的语句

   2)可以解决循环依赖问题。

   3)开发懒数据结构的基础。

8、异常:当碰到异常情况时,方法抛出一个异常,种植方法本身的执行,异常传递到其调用者,调用者可以处理异常,也可以升级到它的调用者。运行系统会一直这样升级异常,直到有调用者能处理它,如果一直没有处理则终止整个程序。

   1)Scala没有“受检”异常,不需要声明说函数或者方法可能会抛出某种异常。

   2)抛出异常:用throw关键字,抛出一个异常对象。所有异常都是Throwable的子类型。throw表达式是有类型的,就是Nothing,因为Nothing是所有类型的子类型,所有throw表达式可以用在需要类型的地方。

   3)捕捉异常:用模式匹配思想来做异常的匹配。

   注意:throw的类型为Nothing,存在exception的if语句类型返回类型。


相关文章
|
6月前
|
分布式计算 Scala Spark
Scala【集合常用方法和函数操作(下)】
Scala【集合常用方法和函数操作(下)】
|
6月前
|
分布式计算 Scala Spark
Scala 【集合常用方法和函数操作-上】
Scala 【集合常用方法和函数操作-上】
|
6月前
|
编译器 Scala
认识scala中的函数
认识scala中的函数
57 5
|
6月前
|
Scala
Scala函数和方法
Scala函数和方法
38 1
|
机器学习/深度学习 分布式计算 Java
Scala方法和函数
Scala方法和函数
101 0
|
Java 编译器 Shell
scala中的变量、方法、函数
Scala是一门多范式的编程语言,一种类似java的编程语言,是可扩展语言,并集成面向对象编程和函数式编程的各种特性的混合功能编程语言。 Scala被编译后在Java虚拟机上运行。
207 0
scala中的变量、方法、函数
|
大数据 Serverless Scala
大数据开发基础的编程语言的Scala的函数和闭包
Scala是一种支持函数式编程的编程语言,它具有强大的函数和闭包功能。本文将介绍Scala中函数和闭包的概念和用法,帮助开发者更好地理解和应用这门语言。
86 0
|
Java Scala
Scala快速入门-2-控制结构与函数
表达式有值,语句执行动作。 Scala中,几乎所有构造出来的语法结构都有值,不像Java中把表达式和语句(if语句)分为两类。 在这里if表示式有值。 代码块也有值,最后一个表达式就是值。 语句中,分号不是必需的。 函数式中不使用return。
|
SQL JSON 前端开发
Scala的面向对象与函数编程
Scala的面向对象与函数编程
Scala的面向对象与函数编程
|
Scala
Scala第2章 控制结构和函数(编程题)
Scala第2章 控制结构和函数(编程题)
166 0
Scala第2章 控制结构和函数(编程题)
下一篇
无影云桌面