日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > scala學習之scala與java的一些區別(一)

scala學習之scala與java的一些區別(一)

來源:程序員人生   發布時間:2016-06-27 08:42:48 閱讀次數:2755次

關鍵字:

abstract   case       catch      class      def

do         else       extends    false      final

finally    for        if         implicit   import

match      new        null       object        override

package    private    protected requires   return

sealed        super      this       throw      trait

try        true       type       val        var

while      with       yield

_      :      =      =>     <-     <:     <%     >:     #      @

黃色是scala增加的 ,yield與java不同

Scala調用Java的方法時,會碰到有Scala的保存字,如Thread.yield()

這在Scala中是非法的,專門有個解決辦法,寫成: Thread.`yield`()

變量定義:

這些標識在Java中是非法的,在Scala中是合法的,可以當作函數名使用,使接口更加DSL

val empty_? = true

val + = "hello"

val `yield` = 10

val ** = "power"

注意:可用但可讀性不好

賦值:

Python1樣方便的賦值方式:

val x,y = 0 // 賦同1初始值

val (x,y) = (10, "hello") // 同時定義多個變量,注意:val x,y=10,"hello" 毛病

更花:

val x::y = List(1,2,3,4)  // x = 1, y = List(2,3,4)

val List(a,b,c) = List(1,2,3) // a = 1, b = 2, c = 3

進1步花樣:

val Array(ab_, _, c @ _*) = Array(123, 4, 5, 6, 7)  // 也能夠用List,Seq

a // 1

b // 2

c // Array(5, 6, 7), _*匹配0個到多個


基本類型:

Int, Long, Double, Byte, Short, Char, Float, Double, Boolean

編譯時Scala自動對應到Java原始類型,提高運行效力。Unit對應javavoid

 asInstanseOf[T]方法來強迫轉換類型:

def i = 10.asInstanceOf[Double] // i: Double = 10.0

List('A','B','C').map(c=>(c+32).asInstanceOf[Char]) // List('a','b','c')

isInstanceOf[T]方法來判斷類型:

val b = 10.isInstanceOf[Int] // true

注意:

++,--操作,但可以+=, -=, 以下:

var i = 0

i++  // 報錯,無此操作

i+=1 // 1

i--  // 報錯,無此操作

i-=1 // 0

類型轉換:

101".toInt // 101,無需 Integer.parseInt("101");

"3.14".toFloat // 3.14f

101.toString

3.14.toString

轉換全部列表:

List("1","2","3") map (_.toInt) // List(1,2,3)

List("1","2","3") map Integer.parseInt // List(1,2,3)

格式化:

"my name is %s, age is %d.format ("james", 30) // my name is james, age is 30.

注意:format還可以這么用

"%s-%d%1$s is %2$d.format ("james", 30) // james⑶0james is 30.

"%2$d age's man %1$s: %2$dformat ("james", 30) // 30 age's man james: 30

==和eq

Scala==很智能,他知道對數值類型要調用Java中的==,ref類型要調用Javaequals()

java中為false,在scala中為true

參考:http://blog.csdn.net/lyrebing/article/details/19835461


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 在线一区二区三区 | 色玖玖| 国产精品毛片va一区二区三区 | 日韩精品一区二区视频 | 伊人热| 国产精品美女久久久 | 欧美一级片在线看 | 免费在线性爱视频 | 亚洲一区二区视频 | 91官网在线观看 | 狠狠操五月天 | 午夜欧美一区二区三区在线播放 | 欧美日韩综合在线 | 中文字幕在线观看一区二区三区 | 精品国产31久久久久久 | 成人午夜激情 | 欧美日韩成人 | 亚洲一区二区成人 | 五月天婷婷导航 | 视频在线播放国产 | 免费看的av | 久久久亚洲国产精品麻豆综合天堂 | 国产日韩一区二区 | 成人国产精品久久久按摩 | 久久久网站免费 | 看av网站| 欧美日韩亚洲二区 | 精品一区二区免费 | 牛牛视频在线 | 国产一区二区三级 | 精品欧美乱码久久久久久 | 久久久久久国产精品免费免费狐狸 | 久久国产成人午夜av影院宅 | 欧美黄色一级 | 亚洲不卡在线 | 色网站免费 | 成年人视频免费在线观看 | 久久99国产精一区二区三区 | 国产成人在线电影 | 亚洲精品aⅴ中文字幕乱码 九九九久久 | 亚洲视频一二 |