一、条件表达式
(一)语法格式
if (条件) 值1 else 值2
(二)执行情况
(三)案例演示
任务1、根据输入值的不同进行判断
当然也可以在一个表达式中进行多次判断
务2、编写Scala程序,判断奇偶性
- 打开Scala项目
ScalaDemo2022
,创建net.hw.structure
包,在包里创建Example01
对象
package net.hw.structure
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
结构具有返回值的特性,改写程序
运行程序,查看结果
二、块表达式
(三)案例演示
- 语句块最后一句的值就是整个块表达式的结果
- 语句块最后一句没有执行结果,那么块表达式结果就是Unit
三、for循环
(一)单重for循环
1、案例演示
- 两种方式实现
- 示将集合或数组中的每一个值循环赋给一个变量
用Java语言完成任务
打印字符直角三角形
利用map函数产生每行星号构成的向量,然后利用foreach函数循环输出
利用双重循环与流间变量
任务2、遍历字符串,输出每个字符
- 方法一、按索引取字符串的每个字符
方法二:将字符串看作一个由多个字符组成的集合
任务3、计算 1 + 2 + 3 + … + 100
- 注意
sum
必须定义为var
型变量 -
采用两种方式来实现
-
采用Java语言实现
-
2、案例演示
-
在项目
ScalaDemo2022
里创建Example02
对象 -
package net.hw.structure
/**
* 功能:双重循环打印九九表
* 作者:华卫
* 日期:2022年3月6日
*/
object Example02 {
def main(args: Array[String]): Unit = {
for (i <- 1 to 9) {
for (j <- 1 to i)
print(i.toString + "×" + j + "=" + (i * j) + "\t")
println()
}
}
}
运行程序,查看结果 -
方法二、采用单重循环来实现
- 在项目
ScalaDemo2022
里创建Example03
对象
package net.hw.structure
/**
* 功能:单重循环打印九九表
* 作者:华卫
* 日期:2022年3月6日
*/
object Example03 {
def main(args: Array[String]): Unit = {
for (i <- 1 to 9; j <- 1 to i) {
print(i.toString + "×" + j + "=" + (i * j) + "\t")
if (i == j) println()
}
}
}
运行程序,查看结果
方法三、采用单重循环与流间变量绑定来实现
- 在项目
ScalaDemo2022
里创建Example04
对象 - 在for循环头里
sep = if (i == j) "\r\n" else "\t"
就是流间变量绑定
package net.hw.structure
/**
* 功能:单重循环与流间变量绑定打印九九表
* 作者:华卫
* 日期:2022年03月06日
*/
object Example04 {
def main(args: Array[String]): Unit = {
for (i <- 1 to 9; j <- 1 to i; sep = if (i == j) "\r\n" else "\t")
print(i.toString + "×" + j + "=" + (i * j) + sep)
}
}
运行程序,查看结果