val x = 8
val s = if (x > 0) 1 else -1
import scala.util.control.Breaks
var n = 10
while (n > 0) {
n -= 1
println(n)
if (n <= 5) {
}
}
for (i <- 1 to 3) {
println(i)
}
for (i <- 1 to 3; j <- 1 to 3) {
println(10 * i + j)
}
for (i <- 1 to 3; j <- 1 to 3 if i != j) {
println(10 * i + j)
}
for (i <- 1 to 3; aa = 4 - i) println(aa)
for (i <- 1 to 10) yield i * 3
def abs(x: Double) = if (x >= 0) x else -x
def abs2(x: Double) = {
if (x >= 0) {
x
} else {
-x
}
}
abs(-8)
abs2(-8)
def recursiveFac(n: Int): Int =
if (n <= 0) 1 else n * recursiveFac(n - 1)
recursiveFac(5)
def descorate(str: String = "default") =
str
descorate()
descorate("bb")
def sum(args: Int*): Int = {
if (args.size == 3) {
return 0
}
var result = 0
for (arg <- args) result += arg
result
}
sum(3, 2, 1, 0)
sum(3, 2, 1)
def box(s: String): Unit = {
println(s)
}
def box2(s: String) {
println(s)
}
box("aaa")
def devide(x: Int, y: Int): Int = {
if (y == 0) throw new ArithmeticException("Devide by zero")
else x / y
}
try {
devide(5, 0)
} catch {
case ex: IndexOutOfBoundsException => println("1", ex)
case ex: ArithmeticException => println("2", ex)
case ex: Exception => println("3", ex)
} finally {
println("finally!")
}
devide(5, 1)