1.while循环的格式与使用
while循环
循环就是重复执行多次。
wehil循环格式如下:
[while(condition) {]()// 满足条件就执行,如果条件一直满足,就一直执行。
statement(s)
}
wehile循环练习:
object dfa06 {
def main (args: Array [String]): Unit = {
//while 循环(重复做)
//i: 循环变量,控制循环执行次数的变量。一般这个变量名就设置为 i。
// 它的起点不一定非要从 0 或者 1 开始
// 目标:循环输出 1 ~ 100 奇数(1,3,5,7,9....99),每行一个
var i = 1
while (i <= 100) {
if (i % 2 == 1) { // 奇数
println (i)
}
i += 1
}
}
}
死循环
在需要一直执行的时候,就可以使用死循环
案例 不停地判断用户的输入的内容是否是闰年。
object dfa08 {
def main (args: Array [String]): Unit = {
//while 死循环
// 目标:重复 判断用户输入的年份是否闰年
while (true){
print ("请输入你要判断的年份:")
var year = scala.io.StdIn.readInt ()
if(year%400 == 0 || (year%4==0 && year%100!=0 &&year%100!=0)){
println(s"year 是闰年")
} else {
println(s"year 不是闰年 ")
}
}
}
}
死循环是一个种非常使用的结果,它能确保核心逻辑一直被调用中。
2.do while 循环的格式与while循环的区别
1. while 循环
特点:循环体 可能一次都不执行(如果初始条件就
为 false)。
格式:先判断条件,再决定是否执行循环体。
2. do-while 循环
格式:先执行一次循环体,再判断条件。
特点:循环体 至少会执行一次(无论初始条件是否
为 true)。
案例:求数列的和
object Main {
def main(args: Array[String]) = {
var sum:Double = 0
var i = 1
while(i <= 19){
if(i%2 == 1){
sum + 1.0 / i
} else{
sum-=1.0 / i
}
i += 1
}
println(s"sum=${sum}")
}
}
案例:判断是否是素数
object Main {
def main(args: Array[String]) = {
/**
*
* 判断一个数num是不是素数
*
*/
var num = scala.io.StdIn.readInt()
var isPrime:Boolean = true
// 从 2 到 num-1,依次去除num, 如果有一个能整除,就说明它不是素数
var i = 2
while(i<=num -1){
// 如果能整除: num % i == 0,说明isPrime不是素数
i += 1
}
if(isPrime){
println(s"$num 是素数")
} else {
println(s"$num 不是素数")
}
}
}
案例:题目描述:小球从100米高处自由落下,着地后又弹回高度的一半再次落下,如此重复。问经过多少次落地后,小球弹起的高度才会低于0.5米?
object Main {
def main(args: Array[String]) = {
var i = 0 // 落地的次数
var high = 100.0 // 初始为100米
while(high >= 0.5) {
high = high / 2.0
i += 1
println(s"经过${i}次落地之后,小球的高度是${high}")
}
println(s"经过${i}次落地之后,小球的高度是${high},小于0.5米的")
}
}
案例:题目描述:假设某人的年化投资回报率是10%。也就是说投入1元之后:
第一年结束时有1.1元,计算过程是:1 (1+10%) = 1.1 第二年结束时有1.21元,计算过程是:1.1(1+10%) = 1.21元, 第三年结束时有1.331元,计算过程是:1.21*(1+10%) = 1.331元
3.break的作用
结束,跳出循环
编码示范:
[import scala.util.control.Breaks]()._
object Main {
def main(args: Array[String]): Unit = {
breakable {
while (true) {
// 你的代码
break
}
}
}
}