1. 程式人生 > >雲星資料---Scala實戰系列(精品版)】:Scala入門教程016-Scala實戰原始碼-Scala 判斷語句 、迴圈與java的比較

雲星資料---Scala實戰系列(精品版)】:Scala入門教程016-Scala實戰原始碼-Scala 判斷語句 、迴圈與java的比較

Scala 判斷語句 、迴圈與java的比較

package scala_learn.demo01_FunctionStatement

/**
 * Created by liguohua on 2017/2/28.
 */
class O2_StatementsDemo {

}

object O2_StatementsDemo {
  def main(args: Array[String]) {
    fun1
    println("*********************************************************************")
    fun2
    println
("*********************************************************************") fun3 } //用於解釋if語句 def fun1() { val a:Int = 1 //scala中的if語句和java中基本一致,但是它是有返回值的,java中是沒有的 val b = if (a == 1) { 10 } else 20; println(b) } //用於解釋while迴圈,scala中迴圈是沒有break和continue的 def fun2() { var
i = 0 while (i < 5) { print(i) // i++//錯誤,scala中沒有++,--操作 i = i + 1 } println() } //用於解釋for迴圈,scala中迴圈是沒有break和continue的 def fun3(): Unit = { println("****************************for[0,5]") //[0,5] for (i <- 0 to 5) { print(i) } println() println
("****************************for[0,5]") //[0,5],0是個數字,是個物件,to是物件身上的函式,5是這個to函式的實參 for (i <- 0.to(5)) { print(i) } println() println("****************************for[0,5)") //[0,5) for (i <- 0 until 5) { print(i) } println() println("****************************for[0,5)") //[0,5),0是個數字,是個物件,until是物件身上的函式,5是這個until函式的實參 for (i <- 0.until(5)) { print(i) } println() println("****************************for[0,10]之間的偶數") //[0,5],scala中的for()內可以有0-N個if語句(守衛) for (i <- 0 to 10; if (i % 2 == 0)) { print(i) } println() println("****************************for[0,10]之間的大於2的偶數") //[0,5] for (i <- 0 to 10; if (i % 2 == 0); if (i > 2)) { print(i) } println() println("****************************for[0,10]之間的大於2小於8的偶數") //[0,5] for (i <- 0 to 10; if (i % 2 == 0); if (i > 2); if (i < 8)) { print(i) } println() println("****************************for[0,10]之間的大於2小於8的偶數") //[0,5] for (i <- 0 to 10; if (i % 2 == 0); if (i > 2 && i < 8)) { print(i) } println() println("****************************大致的for迴圈巢狀**********************************") for (i <- 0 to 5; j <- 0 to 4) { println("i=" + i + ",j=" + j) } println("****************************正方形列印**********************************") for (i <- 0 to 5) { for (j <- 0 to 5) { print("*") } println() } println("****************************for中的yield**********************************") val no = for (i <- "hello") yield i println("no=" + no) //no=hello val no2 = for (i <- 1 to 2) yield i.toChar println("no2=" + no2) //no2=Vector(,) val no3 = for (i <- "hello"; j <- 1 to 2) yield (i + j).toChar println("no3=" + no3) //no3=ijfgmnmnpq val no4 = for (i <- 1 to 2; j <- "hello") yield (i + j).toChar println("no4=" + no4) //no4=Vector(i, f, m, m, p, j, g, n, n, q) } }