Scala同样提供了对程序流程控制的语法。Scala中的程序流程控制结构虽然与Java类似,但也有自己的一些独特的方法。
选择结构
Scala的if/else语法结构和Java或者C++一样。不过,在Scala中if/else表达式会返回一个值,这个值就是跟在if或else之后的表达式的值。
val x = if (a) y else z
请看下面的示例代码:
val age = 19
// 单分支选择结构
if (age > 20) {
println(222)
}
// 双分支选择结构
if (age > 20) {
println(444)
} else {
println(555)
}
// 多分支选择结构
if (age < 18) {
println(666)
} else if (age <= 36) {
println(777)
} else if (age <= 60) {
println(888)
} else{
println(999)
}
// 三元运算符
if(!true) 1 else 0
输出结果如下:
age: Int = 19
222
555
777
res110: Int = 0
在scala中,更经常是将if语句作为表达式来使用。在Scala中,每个表达式都有值。执行下面的代码:
val score = 60
if(score>=60) "及格" else "不及格"
val result = if(score>=60) "及格" else "不及格" // 作为表达式,值赋给变量result
val result1 = if(score>=60) "及格" else 0 // 注意:返回的是公共类型Any
val result2 = if(score<60) "不及格" // 等同于if(score<60) "不及格" else ()
输出结果如下:
score: Int = 60
res37: String = 及格
result: String = 及格
result1: Any = 及格
result2: Any = ()
示例
【例】请编写scala代码,计算工人报酬。计算原则如下:前40个小时,按小时付报酬,每小时50元;超过40小时,应该付1.5倍报酬。
import scala.io.StdIn
object Test {
def main(args: Array[String]): Unit = {
// 基本报酬标准
val reward = 50.00
// 动态输入工时
val workHours = StdIn.readLine("请输入工时:")
// 将输入工时转换为整数
val workHoursInt = workHours.toInt
// 计算报酬总额
var payment = 0.0
if(workHoursInt<=40){
payment = workHoursInt * reward
}else{
payment = 40 * reward + (workHoursInt-40)*(reward*1.5)
}
// 输出结果
println(s"工作时长${workHours}小时,应付报酬$payment")
}
}
© 版权声明
本站网络名称:
知趣
本站永久网址:
https://www.qubaa.top
网站侵权说明:
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长删除处理。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END
暂无评论内容