while循环
循环就是重复执行多次。
格式
while(condition) {()// 满足条件就执行,如果条件一直满足,就一直执行。
statement(s)
}
例:
打印3000次I miss you !
object base16 {
def main(args: Array[String]): Unit = {
var i = 1;
while (i<3001){
println(s"$i. I miss you!")
i += 1
}
}
}
输出1~100内的奇数,每个一行
object base17 {
def main(args: Array[String]): Unit = {
var i = 1
while (i <= 100){
println(i)
i += 2
}
}
}
求1-100的和
object base18 {
def main(args: Array[String]): Unit = {
var sum = 0
var i = 1
while (i < 101){
sum += i
i += 1
}
println(sum)
}
}
求1-100 能被3整除得数的和
object base19 {
def main(args: Array[String]): Unit = {
var i = 3
var sum = 0
while (i <= 100) {
sum += 1
i += 3
}
println(sum)
}
}
while死循环
在需要一直执行的时候,就可以使用死循环。
例:
不停地判断用户的输入的内容是否是闰年
object base20 {
def main(args: Array[String]): Unit = {
while(true) {
print("请输入一个年份")
var year = scala.io.StdIn.readInt()
if(year%400==0 || (year%4==0 && year%100!=0)){
println(s"$year 是一个闰年")
}else{
print(s"$year 不是一个闰年")
}
}
}
}
死循环是一个种非常使用的结果,它能确保核心逻辑一直被调用中
break
scala中没有现成的break关键字,而是使用面向对象的方式来代替,底层会抛出异常来跳出循环,外层捕获异常 编码示范
import scala.util.control.Breaks._
object Main {
def main(args: Array[String]): Unit = {
breakable {
while (true) {
// 你的代码
break
}
}
}
}
通过特殊的语法操作,可以让代码变得简单一些。
判断用户输入的年份是否是闰年,如果用户输入0,则结束判断。
object base21 {
def main(args: Array[String]): Unit = {
breakable{
while(true) {
print("请输入一个年份(输入0可以结束程序)")
val year = scala.io.StdIn.readInt()
if(year == 0){
break
}
if(year%400==0 || (year%4==0 && year%100!=0)){
println(s"$year 是一个闰年")
}else{
print(s"$year 不是一个闰年")
}
}
}
println("欢迎下次使用")
}
}