您好,登錄后才能下訂單哦!
scala-02函數定義、流程控制、異常處理
一、Scala函數定義:
(scala函數定義時候默認會導入包)
(1)val:類似java中final類型的變量(常量)
1,基本格式:val 變量名:變量類型 = 值
2,其中有時變量類型可以省略,可以自動識別
3,變量不能賦值,修改
var :等同于java中的非final型變量
(2)有參數的函數定義
def 函數名(參數列表,...):返回結果類型={}
Object MyScala{
def Mysca(x:int ,y:int):int={
Var a=x
Var b=y
While(a!=0){
Var temp=a
b=b%a
b=temp
}
b
}
Println(Mysca(120,230))
}
① 有時函數必須制定返回結果類型,如函數時遞歸,就必須明確制定返回結果類型;
② 如果函數僅 一個語句,連花括號都可以不寫。如是max函數就成了這樣,作用功能仍然沒有變化;
③ Scala語言在進行函數調用時可不加();
④ Scala語言在編寫的時候亦可以不用加“;”
⑤ Scala中,i++或者++i都不能其作用,只能使用i=i+1
⑥ foreach與函數字面量
函數字面量格式:參數列表 => 函數體
(x: Int, y:Int) => x + y
⑦ for循環中是val類型,因此在for表達式中不能重新對其賦值, <-可以理解為其中的意思for(arg <- args)
注:Scala 三元符表達示例:
var file=if(!args.isEmpty)args(0) else scala.xml
二、異常處理
Scala中異常機制與Java和C++中一樣。但Scala中并沒有受檢異常,也就是不需要說明函數方法可能會拋出什么異常。
使用throw來拋出一個異常。throw表達式的類型是Nothing。
如果不需要使用捕獲的異常對象,使用_來代替變量名(_是Scala中的通配符)同時也有try/finally語句,通常用來清理。可以組合成try/catch/finally語句
拋出一個異常看起來類似于Java。創建一個異常對象,然后使用throw關鍵字把它拋出
throw new IllegalArgumentException
捕捉異常:ry/catch在一個單獨的塊捕捉任何異常,然后使用case塊進行模式匹配。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。