一.for循环的使用
//for ( 循环变量 <- 数据集) {}
//循环体代码
for (i <- 10 to 100){
println(i)
}
for的基本格式
/** 循环守卫
* 当后面的条件都满足的时候,才去执行循环体的内容
*
* 格式:
* for(循环变量 <- 起点 to 终点; if(条件一);if(条件二);...if(条件三);){
* println(循环变量)
* }
*
*
*/
// 输出1~100 中能整除2,3,4的数字
for(i <- 1 to 100; if(i%2 == 0);if(i%4 == 0)){
println(i)
}
for的循环守卫
/** 循环步长
* 在每次循环后,循环变量的自增数值
*
* 格式:
* for(循环变量 <- 起点 to 终点 by 步长){
* println(循环变量)
* }
*
*
**/
// 输出1~100 中的奇数
for(i <- 99 to 1 by -2){
println(i)
}
for的循环步长
/**
* break跳出 for 循环
*
* 格式:
* for(循环变量 <- 起点 to 终点 by 步长){
* println(循环变量)
* }
*
*
**/
//
breakable{
for(i <- 1 to 100){
if(i%9 == 0){
break
}
println(i)
}
}
}
for循环中的break跳出循环,注意breakable和break依旧需要手动引用
二.判断一个数是不是素数
/**
* 判断素数:
* 素数: 只能被1 和自己整除的数。
* eg:2,3,5,7,11...97
*
* 思路:用2~(n-1)依次去除这个数,如果能整除就说明不是素数!
* 例如:
* n=9
* 1.2不能整除
* 2.3不能整除(不是素数)
*
* n=35
* 1,2不能整除
* 2.3不能整除
* 3.4不能整除
* 4.5能整除(不是素数)
*
* n=7 (2~6)
* 1.2不能被整除
* 2.3不能整除
* 3.4不能整除
* 4.5不能整除
* 5.6不能整除
*
**/
思路简述
val n =97
// 假设它是素数
var isPrime = true
for(i <- 2 to n-1){
if(n%i == 0){//能整除
isPrime = false
// }
}
if(isPrime){
println(s"${n}是素数")
}else {
println(s"${n}不是素数")
}
}
初步写出代码
val n =97
// 假设它是素数
var isPrime = true
breakable {
for(i <- 2 to Math.sqrt(n).toInt){
if(n%i == 0){//能整除
isPrime = false
// }
break
}
println(i)
}
if(isPrime){
println(s"${n}是素数")
}else {
println(s"${n}不是素数")
}
}
使用breakable和break优化代码,使其可以提前结束代码