Scala學習--基礎語法

一、Hello, world

object Hello extends App {
  println("Hello, world")
}

1、兩種類型的變量

Scala有兩種類型的變量:
val是一個不可變的變量(例如final在Java中),應首選
var 創建一個可變變量,並且僅在有特定原因使用它時才使用
例子:

val x = 1   //immutable
var y = 0   //mutable

2、聲明變量類型

在Scala中,通常創建變量時無需聲明其類型:

val x = 1
val s = "a string"
val p = new Person("Regina")

執行此操作時,Scala通常可以爲您推斷數據類型,如以下REPL示例所示:

scala> val x = 1
val x: Int = 1

scala> val s = "a string"
val s: String = a string

二、控制結構

1、Scala控制結構

if (test1) {
    doA()
} else if (test2) {
    doB()
} else if (test3) {
    doC()
} else {
    doD()
}

2、三元運算符:

val x = if (a < b) a else b

3、匹配表達式

Scala有一個match表達式,其最基本的用法類似於Java switch語句:

val result = i match {
    case 1 => "one"
    case 2 => "two"
    case _ => "not 1 or 2"
}
object Hello extends App {
  val i = 2
  val result = i match {
    case 1 => "one"
    case 2 => println("two")
    case _ => "not 1 or 2"
  }
}

two

這是match被用作方法主體並針對許多不同類型進行匹配的示例:

def getClassAsString(x: Any):String = x match {
    case s: String => s + " is a String"
    case i: Int => "Int"
    case f: Float => "Float"
    case l: List[_] => "List"
    case p: Person => "Person"
    case _ => "Unknown"
}
object for_x extends App {
  class Person{}
  def getClassAsString(x: Any):String = x match {
    case s: String => s + " is a String"
    case i: Int => "Int"
    case f: Float => "Float"
    case l: List[_] => "List"
    case p: Person => "Person"
    case _ => "Unknown"
  }
  val a = new Person
  print(getClassAsString(a))
}

Person

4、for循環和表達式

for (i <- 0 to 5) println(i)

0
1
2
3
4
5
Process finished with exit code 0

5、while循環

while(condition) {
    statement(a)
    statement(b)
}

// do-while
do {
   statement(a)
   statement(b)
} 
while(condition)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章