目录
一、条件表达式
(一)语法格式
if (条件) 值1 else 值2
(二)执行情况
- 条件为真,结果是值1;条件为假,结果是值2。如果if和else的返回结果同为某种类型,那么条件表达式结果也是那种类型,否则就是
Any
类型 - Scala的条件表达式有点类似于Java的条件运算符
(三)案例演示
任务1、根据输入值的不同进行判断
当然也可以在一个表达式中进行多次判断
可以将上述条件表达式改造成嵌套的选择结构,可读性倒是提高了,但是简洁性降低了
-
函数式编程语言,只有一个入口和一个出口,中间没有任何与外界交流的输入或输出语句,所以安全性非常好。
-
Java不是函数式语言,选择结构没有返回值,就必须根据不同情况对评语变量赋值
任务2、编写Scala程序,判断奇偶性
- 打开Scala项目
ScalaDemo
,创建net.huawei.day02
包,在包里创建Example01
对象
package net.huawei.day02
import scala.io.StdIn
object Example01 {
def main(args: Array[String]): Unit = {
print("n = ")
val n = StdIn.readLine.toInt
if (n % 2 == 0)
println(n.toString + "是偶数~")
else
println(n.toString + "是奇数~")
}
}
运行程序,查看结果
-
利用
if
结构具有返回值的特性,改写程序成为函数式风格package net.huawei.day02 import scala.io.StdIn object Example01 { def main(args: Array[String]): Unit = { print("n = ") val n = StdIn.readLine.toInt val result = if (n % 2 == 0) n.toString + "是偶数~" else n.toString + "是奇数~" println(result) } }
运行程序,查看结果
二、块表达式
(一)语法格式
{语句组}
- 块表达式为包含在符号“{}”中的语句块
(二)执行情况
需要注意的是,Scala中的返回值是最后一条语句的执行结果,而不需要像Java一样单独写return
关键字。如果表达式中没有执行结果,就返回一个Unit
对象,类似Java中的void
(三)案例演示
语句块最后一句的值就是整个块表达式的结果
语句块最后一句没有执行结果,那么块表达式结果就是Unit
三、for循环
(一)单重for循环
1、语法格式
for (变量 <- 集合或数组 (条件)) {
语句组
}
2、执行情况
- 表示将集合或数组中的每一个值循环赋给一个变量
3、案例演示
任务1:输出1到10
- 两种方式实现,一种使用Range类,一种使用to运算符
-
Range(a, b): 从a到b,不包含b,跟Python里的range函数一样,含头不含尾
-
1 to 10表示将1到10的所有值组成一个集合,且包括10。若不想包括10,则可使用关键字
until
- 用Java语言完成任务
- 用Python语言完成任务
- 打印字符直角三角形
- 利用map函数产生每行星号构成的向量,然后利用foreach函数循环输出
- 利用双重循环与流间变量,这个是Scala语言特有的东西
任务2、遍历字符串,输出每个字符
- 方法一、按索引取字符串的每个字符(传统for循环)
- 方法二:将字符串看作一个由多个字符组成的集合(增强for循环)