郑州+高端网站建设seo产品是什么意思
目录
单分支
双分支
多分支
for 循环控制
循环守卫
循环步长
循环嵌套
循环返回值
While 和 do..While 循环控制
While循环控制
do..While 循环控制
循环中断
单分支
if (条件表达式) {执行代码块
}
var age = StdIn.readShort()if (age < 18){println("童年")
}
双分支
if (条件表达式) {执行代码块 1
} else {执行代码块 2
}
var age = StdIn.readShort()if (age < 18){println("童年")}else{println("成年")}
多分支
if (条件表达式 1) {执行代码块 1
}
else if (条件表达式 2) {执行代码块 2
……
else {执行代码块 n
}
println("input age")
var age = StdIn.readInt()if (age < 18){println("童年")
}else if(age>=18 && age<30){println("中年")
}else{println("老年")
}
Scala 中 if else 表达式其实是有返回值的,具体返回值取决于满足条件的代码体的最后一行内容。
val res :String = if (age < 18){"童年"
}else if(age>=18 && age<30){"中年"
}else{"老年"
}println(res)
for 循环控制
for(i <- 1 to 3){print(i + " ")
}
println()
<- 表示java里面的:,1 to 3 表示[1,2,3],前后闭合
循环守卫
for(i <- 1 to 3 if i != 2) { print(i + " ")
}
println()
循环守卫,即循环保护式(也称条件判断式,守卫)。保护式为 true 则进入循环体内部,为false 则跳过,类似于continue。
循环步长
for (i <- 1 to 10 by 2) {println("i=" + i)
}
循环嵌套
//两种写法效果相同,但是第二种能应对更多的情况for (i <- 1 to 2; j <- 1 to 2) {println(" i = " + i + " j = " + j)}for (i <- 1 to 2) {// some codefor (j <- 1 to 2) {println(" i = " + i + " j = " + j)}}
- for 推导式一行中有多个表达式时,所以要加 ; 来隔断逻辑
- for 推导式有一个不成文的约定:当 for 推导式仅包含单一表达式时使用圆括号, 当包含多个表达式时,一般每行一个表达式,并用花括号代替圆括号,如下
for {i <- 1 to 3 j = 4 - i
} {println("i=" + i + " j=" + j)
}
上面代码等价于
for (i <- 1 to 3) { var j = 4 - iprintln("i=" + i + " j=" + j)
}
循环返回值
将遍历过程中处理的结果返回到一个新 Vector 集合中,使用 yield 关键字。
很少使用 ,了解即可
var res = for (i <- 1 to 10) yield (i + 1)println(res)
While 和 do..While 循环控制
While循环控制
循环变量初始化
while (循环条件) {循环体(语句) 循环变量迭代
}
- 循环条件是返回一个布尔值的表达式
- while 循环是先判断再执行语句
- 与 for 语句不同,while 语句没有返回值,即整个 while 语句的结果是Unit 类型()
- 因为 while 中没有返回值,所以当要用该语句来计算并返回结果时,就不可避免的使用变量,而变量需要声明在 while 循环的外部,那么就等同于循环的内部对外部的变量造成了影响,所以不推荐使用,而是推荐使用 for 循环。
var i = 1while (i < 5) {println(s"while第${i}次输出")i += 1}
do..While 循环控制
循环变量初始化;
do{循环体(语句) 循环变量迭代
} while(循环条件)
- 循环条件是返回一个布尔值的表达式
- do..while 循环是先执行,再判断
var i = 1do {println(s"这是do while第${i}次输出")i += 1} while (i < 5)
循环中断
Scala 内置控制结构特地去掉了 break 和 continue,是为了更好的适应函数式编程,推荐使用函数式的风格解决break 和continue 的功能,而不是一个关键字。Scala 中使用breakable 控制结构来实现 break 和 continue 功能。
import scala.util.control.Breaksobject TestContinue {def main(args: Array[String]): Unit = {Breaks.breakable(for (i <- 1 to 10) {if (i % 2 == 0) {Breaks.break()}println(i)})println("exit")}}