for循环与while循环的区别
object base0928 {
def main(args:Array[String]): Unit ={
// 1.for 适用于明确地知道循环起点 和 终点
//2.while 适用于不确定循环次数的情况
//for循环
//1.输出1~100
for (i <-1to 100)
if (1%2 ==0)
println(i)
}
}
循环守卫 * 当后面的条件都满足的时候,才去执行循环体的内容 * * 格式 * for(循环变量 <-起点 to 终点;if(条件1);if(条件2);...if(条件3);){ * println(循环变量)
object base092802 {
def main(args:Array[String]): Unit ={
/**
* 循环守卫
* 当后面的条件都满足的时候,才去执行循环体的内容
*
* 格式
* for(循环变量 <-起点 to 终点;if(条件1);if(条件2);...if(条件3);){
* println(循环变量)
* }
*/
//输出1~100中的能被整除的2,3,4的数字
for (i<- 1 to 100;if (i%2 ==0);if (i%3 ==0);if(i%4 ==0))
}
}
- 循环步长
- 每次循环之后,循环变量的自增数值
- 格式:
- for( 循环变量 <- 起点 to 终点 by 步长){
- println(循环变量)
object base092803 {
def main(args:Array[String]): Unit ={
/**
* 循环步长
* 每次循环之后,循环变量的自增数值
*
* 格式:
* for( 循环变量 <- 起点 to 终点 by 步长){
* println(循环变量)
* }
*/
//输出1~100中的奇数
for (i <-99 to 1 by -2){
println(i)
}
}
}
object base092804 {
def main(args:Array[String]): Unit ={
/**
* 判断素数。
* 素数: 只能被1和 它自己整除的数。
* eg:2,3,5,7,11,13,17,19......97
*
*
*/
//breakable + break:优化不是素数的情况:提前结束循环
//Math.sqrt(n) : 减少搜索的范围
val n =97
//假设他是素数
var isPrime = true
breakable{
for (i <- 2 to Math.sqrt(n).toInt){
if (n%i ==0){//能整除
isPrime = fals
break
}
println(i)
}
if (isPrime){
println(s"${n}是素数")
}else {
println(s"${n}不是素数")
}
}
}