日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

scala语法汇总

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scala语法汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// def main(args: Array[String]) def main() { print("-------------------------------------下面是輸出語句的用法--------------------------------------\n") var list = Array(1,2,3,4)var a = 10;var b = 20;var c = 25;var d = 25;println("a + b = " + (a + b) );println("a - b = " + (a - b) );println("a * b = " + (a * b) );println("b / a = " + (b / a) );println("b % a = " + (b % a) );println("c % a = " + (c % a) );var x = 10;if( x < 20 ){println("x < 20");}print("-----------------------------------while循環的用法-----------------------------------------------\n")var k = 10;// 無限循環while(k<100 ){k=k+10println( "k 的值為 : " + k );}print("------------------------------------for循環的用法-------------------------------------------\n") for (aa <- list) {//這個意思是,讓aa遍歷list,其中<-是遍歷運算符printf(aa+" ")}}print("----------------------------------函數與函數調用的用法-------------------------------------------\n")def addInt( a:Int, b:Int ) : Int = {var sum:Int = 0sum = a + b return sum }println( "Returned Value : " + addInt(5,7) );print("----------------------------------三個冒號運算符與兩個冒號運算符-------------------------------------------\n")val one = List(1,2,3) val two = List(4,5,6) val three = one ::: two println(three.toString())val four = 7 :: threeprintln(four.toString())print("-------------------------------閉包(其實就是python中的匿名函數)---------------------\n") var factor = 3 val multiplier = (i:Int) => i * factor println( "muliplier(1) value = " + multiplier(1) ) println( "muliplier(2) value = " + multiplier(2) ) print("-------------------------------可以修改的字符串--------------------\n")val buf = new StringBuilder;buf += 'a'buf ++= "bcdef"buf++="ychi"println( "buf is : " + buf.toString ); print("-------------------------------字符串的長度--------------------\n")var palindrome = "www.runoob.com";var len = palindrome.length();println( "String Length is : " + len ); print("-------------------------------字符串的拼接-------------------\n")print("菜鳥教程官網: ".concat("www.runoob.com\n"))print("-------------------------------字符串數組的定義和輸出------------------\n")var z = Array("Runoob", "Baidu", "Google") println( "String Length is : " + z(0)+z(1)+z(2) );print("----------------------------數組處理----------------\n")var myList = Array(1.9, 2.9, 3.4, 3.5)// 輸出所有數組元素for ( x <- myList ) {println( x )}// 計算數組所有元素的總和var total = 0.0;for ( i <- 0 to (myList.length - 1)) {total += myList(i);}println("總和為 " + total);// 查找數組中的最大元素var max = myList(0);for ( i <- 1 to (myList.length - 1) ) {if (myList(i) > max) max = myList(i);}println("最大值為 " + max);print("----------------------------多維數組處理--------------------------------------------------------\n")var myMatrix = Array.ofDim[Int](3,3)// 創建矩陣for (i <- 0 to 2) {for ( j <- 0 to 2) {myMatrix(i)(j) = j;}}// 打印二維陣列for (i <- 0 to 2) {for ( j <- 0 to 2) {print(" " + myMatrix(i)(j));}println();}print("-----------------------------下面是迭代器操作-------------------------------------------\n")val it = Iterator("Baidu", "Google", "Runoob", "Taobao")while (it.hasNext){println(it.next())}def main(args: Array[String]) {val ita = Iterator(20,40,2,50,69, 90)val itb = Iterator(20,40,2,50,69, 90)println("最大元素是:" + ita.max )println("最小元素是:" + itb.min )println("ita.size 的值: " + ita.size )println("itb.length 的值: " + itb.length )}print("-----------------------------下面是scala類和對象-------------------------------------------\n") class Point(xc: Int, yc: Int) {var x: Int = xcvar y: Int = ycdef move(dx: Int, dy: Int) {x = x + dxy = y + dyprintln ("x 的坐標點: " + x);println ("y 的坐標點: " + y);} }val pt = new Point(10, 20);// 移到一個新的位置pt.move(10, 10);print("-----------------------------下面是scala類的繼承----------------------------------------\n") class Location(val xc: Int, val yc: Int,val zc :Int) extends Point(xc, yc){var z: Int = zcdef move(dx: Int, dy: Int, dz: Int) {x = x + dxy = y + dyz = z + dzprintln ("x 的坐標點 : " + x);println ("y 的坐標點 : " + y);println ("z 的坐標點 : " + z);} }val lc = new Location(10, 20,30); lc.move(123,12)println("-----------------------------下面是scala類的Trait用法(相當于抽象類)------------------------------------\n") trait Equal {def isEqual(x: Any): Boolean//這里只是進行聲明,不進行具體的實現def isNotEqual(x: Any): Boolean = !isEqual(x) }class Points(xc: Int, yc: Int) extends Equal {var x: Int = xcvar y: Int = ycdef isEqual(obj: Any) =obj.isInstanceOf[Points] && obj.asInstanceOf[Points].x == x//這個函數的意思是:先檢查比較的是不是屬于同一種對象,如果屬于,那么再比較兩個對象的成員// p.isInstanceOf[XX] 判斷 p 是否為 XX 對象的實例;// p.asInstanceOf[XX] 把 p 轉換成 XX 對象的實例print("----------------------------------------")} val p1 = new Points(2, 3) println("p1.x=",p1.x) val p2 = new Points(2, 4) println("p2.x=",p2.x) val p3 = new Points(3, 3) println("p3.x=",p3.x) println(p1.isEqual(p2))//因為這里p1.x=p2.x,所以這里返回為true println(p1.isEqual(p3))//這里因為第一個元素不相等,p1.x≠p3.x,所以這里返回false println(p1.isEqual(2)) //因為這里2不是對象實例,所以直接返回falseprint("-----------------------------下面是scala類的模式匹配--------------------------------------\n")def matchTest(x: Int): String = x match {case 1 => "one"case 2 => "two"case _ => "many"//_在這里的意思相當于default,也就是其他情況下的意思}println(matchTest(66666))print("-----------------------------下面是scala類的正則匹配用法-------------------------------------\n") import scala.util.matching.Regex val pattern = new Regex("(S|s)cala") // 首字母可以是大寫 S 或小寫 s val str = "Scala is scalable and cool"println((pattern findAllIn str).mkString(",")) // 使用逗號 , 連接返回結果print("-----------------------------下面是scala類的異常處理辦法-------------------------------------\n")import java.io.FileReader import java.io.FileNotFoundException import java.io.IOExceptiontry {val f = new FileReader("input.txt")} catch {case ex: FileNotFoundException =>{println("Missing file exception")}case ex: IOException => {println("IO Exception")}}print("-----------------------------下面是scala類的提取器(其實就是把關鍵詞塞進去,或者從一個字符串里面把關鍵詞摳出來)------------------------------------\n")// 注入方法 (可選)def apply(user: String, domain: String) = {//這個就是個拼接函數user +"@"+ domain}// 提取方法(必選)def unapply(str: String): Option[(String, String)] = {//這個就是以@為分隔符提取進行句子分詞之類的作用val parts = str split "@"if (parts.length == 2){Some(parts(0), parts(1)) }else{None}}println ("Apply 方法 : " + apply("Zara", "gmail.com")); println ("Unapply 方法 : " + unapply("Zara@gmail.com")); println ("Unapply 方法 : " + unapply("Zara Ali"));print("-----------------------------從本地讀取txt文本-----------------------------------\n") import scala.io.Sourceprintln("文件內容為:" )Source.fromFile("test.txt" ).foreach{ print} println("\n" )print("-----------------------------下面是運行main函數-------------------------------------------\n") main()//注意研究下set是怎么回事

?

總結

以上是生活随笔為你收集整理的scala语法汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。