import org.junit.Test
import scala.collection.immutable
/**
* dev by yjh
* scala for 循环使用
*/
class ForLearn {
/**
* 1 2 3 to是闭区间
*/
@Test
def forTo(): Unit = {
for (i <- 1 to 3) {
println(i)
}
}
/**
* until [a b)半闭半开区间
*/
@Test
def forUntil(): Unit = {
for (i <- 1 until 3) {
println(i)
}
}
/**
* 双for循环使用
* i1 j1 乘积 1
* i1 j2 乘积 2
* i1 j3 乘积 3
* i1 j4 乘积 4
* i2 j1 乘积 2
* i2 j2 乘积 4
* i2 j3 乘积 6
* i2 j4 乘积 8
*/
@Test
def forFor(): Unit = {
for (i <- 1 to 2; j <- 1 to 4) {
println("i" + i + " j" + j + " 乘积 " + i * j)
}
}
/**
*守卫模式
*/
@Test
def forCondition(): Unit = {
val inclusive: Range.Inclusive = 1.to(10)
for (i <- inclusive if i % 2 != 0) {
println(i)
}
}
/**
* yield的使用,产生新的一个集合
*/
@Test
def forYield(): Unit ={
val ints: immutable.IndexedSeq[Int] = for (j<-1 to 5) yield j
ints.foreach(a=>println(a))
}
/**
* break会产生异常,避免使用
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* *
*scala.util.control.BreakControl
*/
@Test
@Deprecated
def forBreak(): Unit = {
import scala.util.control.Breaks._
val inclusive: Range.Inclusive = 1.to(10)
for (i <- inclusive) {
println(i)
if (i == 8) break()
}
println("finish")
}
}
scala(第一篇) scala for使用
最新推荐文章于 2021-01-05 11:21:52 发布