多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

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

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

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

關鍵字:

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)  // 也能夠用ListSeq

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


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久久国产99久久国产一 | 亚洲成人福利在线观看 | 一级毛片一 | 国产精品99r8免费视频2022 | 久久福利网站 | freexxx性欧美极品另类 | 国内久久精品视频 | 亚洲v天堂 | 国产aa网站 | 欧美日韩午夜视频 | 中文字幕第315页 | 亚洲天堂网视频 | 欧美一级第一免费高清 | 在线成人免费观看国产精品 | 中文国产成人精品久久96 | 久久国产精品久久精 | 牛仔裤美女国产精品毛片 | 国产一级做a爰片久久毛片99 | 国产v欧美v日本v精品 | 久久影视免费观看网址 | 精品不卡 | 伊人婷婷在线 | 最近中文字幕最新在线视频 | 久久99国产精品二区不卡 | 一区二区不卡在线 | 精品三级国产一区二区三区四区 | 国产精品国产亚洲精品不卡 | 亚洲国产成人资源在线桃色 | 天堂亚洲| 欧美午夜影院 | 亚洲高清在线观看视频 | 亚州不卡 | 欧美 日韩 中字 国产 | 秋霞免费手机理论视频在线观看 | 小说区 综合区 都市激情 | 中文无码日韩欧免费视频 | 欧美午夜性春猛xxxx | tom影院亚洲国产日本一区 | 国产aa网站 | www色.com| 亚洲国产系列一区二区三区 |