一、Scala程式的開始->HelloScala 這裡的操作如同java的helloworld程式,直接放代碼! 在命令行操作中輸入命令: scalac HelloScala.scala scala HelloScala 二、Scala的數據類型 Scala與java相同,有八種基本數據類型: By ...
一、Scala程式的開始->HelloScala
這裡的操作如同java的helloworld程式,直接放代碼!
object HelloScala{ def main(args:Array[String]){ println("HelloScala") } }
在命令行操作中輸入命令:
scalac HelloScala.scala
scala HelloScala
二、Scala的數據類型
Scala與java相同,有八種基本數據類型:
Byte/Char/Short/Int/Long/Float/Double/Boolean
還有Unit類型(與java中void相似),表示無值,主要用於不返回任何結果的結果類型
註意:Scala中沒有包裝類
三、Scala定義變數
兩個關鍵字:val、var
val:定義的變數值是不可變的
var:定義的變數值是可變的
eg. val a:Long = 1 var b:String = "我很帥"
註意:Scala編譯器會自動的推斷數據類型!!
eg. val a = 1 (a自動為Int類型)
var s = "you are ugly" (s自動為String類型)
val h = println("cool") (h自動為Unit類型)
四、條件表達式(一下命令都是在windows命令行操作中運行的)
if語句:
val x = 2
val y = if(x>0) 1 esle 2
val m = if(x<0) -1 if(x>1) 1 else 0
混合類型:
val z = if(x>0) "true" else 1
輸出語句為: z:Any = "true"
註意:Any相當於Java中的object基類,它包含Anyval和AnyRef
Anyval:包含scala所有類型、AnyRef:包含Scala clsaaes與Java classes
五、塊表達式
相當於java中的程式快,在Scala中用{}包裹的一些列表達式及塊表達式,塊中最後一個表達式的值就是塊的值。
可以在idea中創建Scala工程展示
sbt版本:1.1.0 scala版本:2.11.8
創建Scala類註意,kind類型選擇object
六、迴圈(一下是在Windows命令行操作中運行,其中”<-“相當於java中for迴圈變數的意思)
val rs = 1 to 10 //Scala會創建一個包含從1到10的10個元素的數組rs
for (x <- rs) println(x) //便利數組rs,並輸出每個元素
val arr = Array(1,3,5) //創建不可變數組arr,包含1,3,5三個元素
for (i <- arr) println(i) //便利數組arr並輸出每個元素
高級for迴圈:
for(i <- 1 to 5 ;j <- 1 to 10 if i != j) print((10 * i + j) + " ")
for(i <- 1 to 10) yield i*10 //關鍵字yield:生成一個新的集合
val ab = for(i <- 1 to 10;if(i % 2 == 0)) yeild i
註意:1 to 10 同 1.to(10) 表達的意思是一樣的,to是一個方法,在Scala中可以省略“.”
1.to(10).map(_*100) //創建一個元素為1到10的集合併將每個元素都乘以100
map:取出元素 _:代表集合中的元素
七、運算符
在Scala中,+、-、*、/、%的作用和Java中是一樣的,但特別的是他們都是方法
eg. 1 + 2 和 1.+(2) 的結果是一樣的
object ScalaDemo2{ def mian(args:Array[String]):unit={ println(m1(1,6)) println(m2(3,6)) } def m1(a:Int,b:Int):Int={ a+b } def m2(a:Int,b:Int):Int=a*b }