Scala學習 1.1 Scala基礎與語法入門實戰
阿新 • • 發佈:2018-12-25
1.1.1 Scala基本資料型別
Scala包括8種常用基本資料型別:Byte Char Short Int Long Float Double Boolean
1.1.2 Scala變數宣告
val 型變數定義後不可以重新賦值,相當於Java中final修飾的變數
var型變數定義後可以重新賦值
1.1.3 算術操作符
算術運算子:+ - * / %
關係運算符:== != > < >= <=
位運算子:& | ^
賦值運算子:= += -= *= /= %= <<=(左移) >>=(右移) &= ^= |=
1.1.4 條件語句
object Scala_study {
def main(args: Array[String]): Unit = {
val i = 10
val result = if(i > 5) i else 3
println(result)
}
}
1.1.5 迴圈 在Scala中沒有break和continue兩個關鍵字,continue可以通過if語句來判斷是否要向下執行,而break在scala中有特殊的實現(是一個方法)
(1)for迴圈
object Scala_study { def main(args: Array[String]): Unit = { //1. 使用for迴圈打印出1到10 注意:to包含尾部 for(i <- 1 to 10) print(i + " ") println() //2. 使用for迴圈打印出1到9 注意:until包含尾部 for(i <- 1 until 10) print(i + " ") println() //3. for迴圈中使用守衛 for(i <- 1 to 10 if i % 2 == 0) print(i + " ") println() //4.1 多個過濾條件間可以使用分號隔開for(i <- 1 to 10 if i % 2 == 0;if i != 2) print(i + " ") println() //4.2 多個過濾條件間可以使用&& for(i <- 1 to 10 if (i % 2 == 0 && i !=2)) print(i + " ") println() //4.3 多個過濾條件間可以使用&& for(i <- 1 to 10 if i % 2 == 0 && i !=2) print(i + " ") println() //5 迴圈巢狀 for(i <- 1 to 10; j <- 1 to 5) print(i * j + " ") println() //6 使用yield關鍵字返回一個新集合 val v1 = for(i <- 1 to 5) yield i v1.foreach(x=>print(x + " ")) println() } }
(2)while迴圈
var i = 0 while(i <= 5 ) { i += 1 print(i + " ") } println() import scala.util.control.Breaks._ import scala.util.Random breakable{ while(true) { val r = new Random() val i = r.nextInt(10) println("i==",i) if(i==5) break } } }
(3)do-while迴圈
var count = 4 do { println(count) count-=1 }while(count > 0 )
1.1.6 異常控制
(1)丟擲異常關鍵字throw
(2)捕獲異常
try{ val file = Source.fromFile("D://chenjie.txt") val lines = file.getLines() for(content <- lines){ println(content) } } catch { case ex : FileNotFoundException => println("檔案不存在") case ex : Exception => println(ex) } finally { println("通常用來釋放資源") } }