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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

[转载] scala

發(fā)布時(shí)間:2025/3/11 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转载] scala 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

參考鏈接: 在Java的數(shù)字中使用下劃線

1 scala 底層是有一種隱式轉(zhuǎn)換機(jī)制,比如對(duì)String類型,底層會(huì)轉(zhuǎn)化Scala的StringOps類型?

2 scala 的通用的化簡(jiǎn)規(guī)則:調(diào)方法時(shí)候,方法的參數(shù)列表只有一個(gè),則方法的()可以省略?

??

數(shù)字:?

1 scala中沒有基本變量,都是對(duì)象和方法?

2 scala的int 表面是java的int 但是底層通過(guò)隱式轉(zhuǎn)換,轉(zhuǎn)成了scala的RichInt類型?

?to方法。用生成一個(gè)區(qū)間,一般用于for循環(huán)生成的范圍?

RichDouble? RichFloat?

3 scala的操作符優(yōu)先同java?

4 scala 會(huì)以方法的調(diào)用順序來(lái)運(yùn)算?

5 前置操作符 加上空格? 分別是+(正數(shù))? -(負(fù)數(shù))? ?!(布爾取反)? ~(二進(jìn)制)?

6 scala在使用前置操作符可以通過(guò)unary_(+-)?

??

1 scala 的if else 的用途和java一樣?

2 scala 的通用化簡(jiǎn)規(guī)則: 如果方法體{}中只有一行代碼,則方法體{}可以省略?

3 scala 的if? else 和java的不同的地方在于 :if else 是有返回值 的 ,可以接? ,返回值的不同 ,返回值的類型是Any?

4 scala的通用規(guī)則:scala會(huì)將方法體{}最后的一行代碼當(dāng)做返回值,不要return?

5 scala的Unit類型? java的void ,空類型? ? Any ---java 的Object?

6 println 的返回值類型是Unit?

7 scala的while用法一樣java?

8 scala通過(guò)下標(biāo)操作集合類型時(shí) ,下標(biāo)數(shù)字同java,使用(index),不同java? [index]?

??

for 循環(huán)?

?for(i<-1 to 9 ; j<-1 to i ; val sep =if(i==j) "\t\n" else "\t") print(j+"*"+i+"=" +i*j? +sep)?

1 scala 的集合是大的概論 ,包括: Array List Set? Map Tuple Range?

2 for yield 的作用,遍歷一個(gè)集合,返回一個(gè)新的集合,指的是:遍歷的是Array,返回時(shí)Array?

3 聲明 map(key -> value)?

??

異常?

1 scala在catch,捕獲異常用的是case來(lái)匹配?

2 scala的match機(jī)制類比于java的switch case?

??

break 和count?

1 scala使用break要導(dǎo)包 import util.control.Breaks. ,或是breakcable 包裹?

2 breakcable在for循環(huán)外,是break的效果,在for循環(huán)內(nèi),是 continue效果?

??

函數(shù)?

1 scala通過(guò)def 關(guān)鍵字當(dāng)以函數(shù)? def 函數(shù)名(參數(shù)列表):返回值類型={ 方法體}?

??

??

匿名函數(shù)?

1 沒有函數(shù)名? 連接符號(hào) =>? ?可以當(dāng)做參數(shù)賦值? 或傳遞?

2 把匿名函數(shù)當(dāng)參數(shù)進(jìn)行傳遞,高階函數(shù)?

3 高階函數(shù)允許將函數(shù)當(dāng)參數(shù)進(jìn)行傳遞?

4 匿名函數(shù)通用化簡(jiǎn)規(guī)則:如果參數(shù)的類型可以推出,可以不寫?

5? ?如果匿名函數(shù)的參數(shù)只有一個(gè),則參數(shù)的只有一個(gè),則參數(shù)的()可以不寫?

6 可以通過(guò)_(占位符)?

7 占位符指的是scala中的下劃線_ ,可以用它當(dāng)作一個(gè)或多個(gè)參數(shù)來(lái)使用 使用_占位符的前提要求:每個(gè)參數(shù)在函數(shù)僅出現(xiàn)一次。?

??

遞歸函數(shù)?

1 必須申明的數(shù)值的返回類型?

2 寫遞歸的技巧:a.找出遞歸的結(jié)束條件? b.找出函數(shù)關(guān)系??

3 在scala,結(jié)束條件的返回值必須是return?

??

??

1? ?lazy數(shù)值聲明之后,并不是馬上賦值的,調(diào)用時(shí)才賦值?

2? ?lazy 只能常量val?

3 scala底層支持顆?;T试S接受多個(gè)參數(shù)轉(zhuǎn)化?

4 前面是普通參數(shù),后面是匿名函數(shù),叫自建立控制結(jié)構(gòu)?

??

集合?

1 Array List? Set Map Tuple? Range Iterator?

2? immutable :定長(zhǎng)數(shù)組Array? mutable :變長(zhǎng)ArrayBuffer?

??

以下是Array和List通用而且重要的方法 1.take 2.takeRight 3.drop 4.dropRight 5.head 6.last 7.mkString 8.intersect(交集) 9.union(并集) 10.diff(差集) 11.exists 12.count 13.filter(過(guò)濾) 14.sortBy(排序) 15.map(映射方法) 16.max 17.min 18.sum 19.reduce 20.reverse(反轉(zhuǎn)) 21.dinstinct(去重) 22.mapValue(專用于映射Map類型的value) Array和List沒有此方法?

以上再重點(diǎn)掌握:1.filter? 2.sortBy 3.map 4.reduce 5.mapValues?

補(bǔ)充:掌握類型轉(zhuǎn)換的技巧。比如一個(gè)方法,distinct,compactBuff類型, 但是List有,所以可以通過(guò)類型轉(zhuǎn)化來(lái)實(shí)現(xiàn)

總結(jié)

以上是生活随笔為你收集整理的[转载] scala的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。