Scala — 控制结构和函数

输入输出

package org.fool.scala

import scala.io.StdIn

object AppTest {
  def main(args: Array[String]): Unit = {
    val name = StdIn.readLine("Your name: ")
    println(name)

    print("Your age: ")
    val age = StdIn.readInt()
    println(age)
  }
}

console output

Your name: Scala
Scala
Your age: 30
30

 

循环

package org.fool.scala

object AppTest {
  def main(args: Array[String]): Unit = {
    var n = 10
    
    while(n > 0) {
      print(n + " ")
      n -= 1
    }
    
    println("\n----------------------------------")

    for(i <- 1 to 10) {
      print(i + " ")
    }
    
    println("\n----------------------------------")
    
    for(i <- 1 to 3; j <- 1 to 3) print(i * j + " ")
    
  }
}

 console output

10 9 8 7 6 5 4 3 2 1 
----------------------------------
1 2 3 4 5 6 7 8 9 10 
----------------------------------
1 2 3 2 4 6 3 6 9 

 

默认参数和带名参数

package org.fool.scala

object AppTest {
  def main(args: Array[String]): Unit = {
    val defaultResult = getResult("Scala")
    println(defaultResult)
    
    val result = getResult("Scala", "(", ")")
    println(result)
  }

  def getResult(result: String, left: String = "[", right: String = "]") =
    left + result + right
}

 console output

[Scala]
(Scala)

 

 可变长度参数

package org.fool.scala

object AppTest {
  def main(args: Array[String]): Unit = {
    val s1 = sum(1, 2, 3)
    println(s1)

    val s2 = sum(1, 2, 3, 4, 5)
    println(s2)

    val s3 = sum(1 to 10: _*)
    println(s3)
  }

  def sum(args: Int*) = {
    var result = 0
    for (arg <- args) result += arg
    result
  }
}

 console output

6
15
55

 

 

 

猜你喜欢

转载自agilestyle.iteye.com/blog/2293972