运行环境:jdk1.7、scala-2.10.4
简单的for操作:
package study
//内建控制结构yiled
object TestYield {
//程序入口
def main(args: Array[String]): Unit = {
Test3()
}
case class Test3() {
var filename = (new java.io.File(".")).listFiles()
//等差数列
def getEquals=for(i <-6 to 1 by -2)yield i
def getEquals2=for(i <-1 to 3 by 2)yield i
def getCompare=for(j <-1 to 2)yield j*2
for(y<-getCompare){
println("等差数列:"+y)
}
for(x<-getEquals2){
println("等差数列2:"+x)
}
for(x<-getEquals){
println("等差数列:"+x)
}
//如果是前包后不包含,使用until
for (x <- 1 until 6 if x % 2 == 0) println("until偶数:" + x)
//如果是前后都包含使用to
for (m <- 1 to 6) { println("to产生:" + m)}
for (n <- 1 until 6) {println("until产生:" + n)}
for (file <- filename) {
println("当前目录文件:" + file)
}
}
}
结果:
等查数列:2
等查数列:4
等差数列2:1
等差数列2:3
等差数列:6
等差数列:4
等差数列:2
until偶数:2
until偶数:4
to产生:1
to产生:2
to产生:3
to产生:4
to产生:5
to产生:6
until产生:1
until产生:2
until产生:3
until产生:4
until产生:5
文件名:.\.idea
文件名:.\pom.xml
文件名:.\scala-test.iml
文件名:.\sparklib
文件名:.\src
文件名:.\target
文件名:.\txt
for操作还可以这样:
test("2018年5月7日14:55:01 测试for循环中遍历多个数组"){
for(a <- 0 to 3 ; b<- 0 to 2){
logger.warn(s"a ---> $a ,b ---->$b .")
}
}
转载请注明原文地址: https://ju.6miu.com/read-1295169.html