scala快速上手 二 Scala 基礎

2021-10-24 23:40:55 字數 2138 閱讀 5765

* 定義變數和常量

* 變數 :用 var 定義 ,可修改

* 常量 :用 val 定義,不可修改

*/var name = "zhangsan"

println(name)

name ="lisi"

println(name)

val gender = "m"

// gender = "m"//錯誤,不能給常量再賦值

class person

}

object lesson_class 

}

/**

* object 相當於單例物件,不能傳參

*/object lessonobj

println(s"name is $name,age is $age")

} def main(args: array[string]): unit =

}

class person(xname :string , xage :int)

def sayname() =

}object person

}

注意點:

/**

* if else

*/val age =18

if (age < 18 )else if (18<=age&&age<=20)else

/**

* to 和 until

* 例:

* 1 to 10 返回 1 到 10 的 range 陣列,包含 10

* 1 until 10 返回 1 到 10 range 陣列 ,不包含 10

*/println(1 to 10 )//列印 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

println(1.to(10))//與上面等價,列印 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

println(1 to (10 ,2))//步長為 2,從 1 開始列印 ,1,3,5,7,9

println(1.to(10, 2))

println(1 until 10 ) //不包含最後乙個數,列印 1,2,3,4,5,6,7,8,9

println(1.until(10))//與上面等價

println(1 until (10 ,3 ))//步長為 2,從 1 開始列印,列印 1,4,7

/**

* for 迴圈**/

for( i

//可以分號隔開,寫入多個 list 賦值的變數,構成多層 for 迴圈

//scala 中 不能寫 count++ count-- 只能寫 count+

var count = 0;

for(i

println(count);

//例子: 列印小九九

for(i

if(i==j )

}

//可以在 for 迴圈中加入條件判斷

for(i

//將 for 中的符合條件的元素通過 yield 關鍵字返回成乙個集合

val list = for(i 5 )) yield i

for( w

/*** while 迴圈

*/var index = 0

while(index < 100 )

index = 0

dowhile(index <100 )

scala快速上手 三 Scala 方法與函式

def fun a int b int unit fun 1,1 def fun1 a int b int a b println fun1 1,2 注意點 遞迴方法 5 的階乘 def fun2 num int int print fun2 5 包含預設引數值的函式 注意 1.預設值的函式中,如果...

Scala 說說快速排序

簡短的幾行 就完成了快速排序 def qsort list int list int 這幾行 很美,美不勝收。我喜歡把這種風格裡定義的sqort叫做物件,函式物件 它的型別是list int list int 這是個函式型別,接受乙個list int 引數,返回乙個list int 結果 模式匹配的...

Scala入門系列(二) Scala函式基礎介紹

2 匿名函式 3 高階函式 4 函式巢狀 5 柯里化 6 隱式引數 7 命名引數 8 引數預設值 函式是scala的核心 def 函式名 引數列表 返回值 列1 def square x int int 列2 def sayhello x string unit 函式呼叫 square 10 say...