數據類型(二)

簡介

  Scala的基本數據類型與Java中的基本數據類型是一一對應的,不同的是Scala的基本數據類型頭字母必須大寫。

數據類型.jpg

類型變量定義

整數類型變量定義

//16進制定義法
scala> val x=0x29
x: Int = 41

//十進制定義法
scala> val x=41
x: Int = 41

//八進制定義法
scala> 051
res0: Int = 41

浮點類型變量定義

//Double類型定義,直接輸入浮點數,編譯器會將其自動推斷爲Double類型
scala> val doubleNumber=3.141529
doubleNumber: Double = 3.141529

//要定義Float類型浮點數,需要在浮點數後面加F或f
scala> val floatNumber=3.141529F
floatNumber: Float = 3.141529

scala> val floatNumber=3.141529f
floatNumber: Float = 3.141529

//浮點類型的變量還可以採用指數表示法
//浮點數指數表示法,e也可以是大寫E,0.314529e1與0.314529*10等同
scala> val floatNumber=0.314529e1
floatNumber: Double = 3.14529

字符變量定義

//字符定義,用''將字符包裹
scala> var charLiteral='A'
charLiteral: Char = A

字符串變量定義

//字符串變量用""包裹
scala> val helloWorld="Hello World"
helloWorld: String = Hello World

//要定義"Hello World",可以加入轉義符\
scala> val helloWorldDoubleQuote="\"Hello World\""
helloWorldDoubleQuote: String = "Hello World"

//如果希望能夠原樣輸出字符串中的內容,則用三個引號"""將字符串包裹起來,如
scala> println(""" hello cruel world, \n \\\\ \b \\, I am " experienced" programmer""")
 hello cruel world, \n \\\\ \b \\, I am " experienced" programmer

布爾類型定義

scala> var x=true
x: Boolean = true

類型操作

算術運算

//整數求和,編譯器會將其轉換爲(1).+(2)執行
scala> var sumVlaue=1+2
sumVlaue: Int = 3

//前一語句等同於下列語句
scala> var sumVlaue=(1).+(2)
sumVlaue: Int = 3

//操作符重載,編譯器會將其轉換爲(1).+(2L)執行
scala> val longSum = 1 + 2L
longSum: Long = 3

//減法
scala> 1-3
res5: Int = -2

//除法
scala> 1/3
res6: Int = 0

//取模
scala> 1%3
res7: Int = 1

//乘法
scala> 1L*3L
res8: Long = 3

//scala中可以用+ -符號來表示正負數,例如-3 +3,並且可以加入到運算符當中
scala> var y=1+ -3
y: Int = -2

關係運算

//>運算符
scala> 3 > -3
res12: Boolean = true
//<運算符
scala> 3 < -3
res13: Boolean = false
//<=運算符
scala> 3 <= -3
res14: Boolean = false
//<=運算符
scala> 3 <=3
res15: Boolean = true
//<=運算符
scala> !(3<= -3)
res16: Boolean = true

邏輯運算

//邏輯與:&&
scala> val bool=true
bool: Boolean = true

scala> bool && bool
res17: Boolean = true
//邏輯或:||
scala> bool || bool
res18: Boolean = true


scala> bool || !bool
res20: Boolean = true

位運算

// 00000001
// 00000010
// 00000000
scala> 1 & 2
res24: Int = 0

// 00000001
// 00000010
// 00000011
scala> 1 | 2
res24: Int = 3

// 00000001
// 00000011
// 00000010
scala> 1 ^ 3
res24: Int =2

//00000001
//11111110
scala> ~1
res24: Int =-2

//左移位(shift left)
//00000110
//00001100
scala> 6 << 1
res29: Int = 12

//右移位(shift left)
//00000110
//00000011
scala> 6 >> 1
res28: Int = 3

//無符號右移(shift left)
//11111111111111111111111111111111
//00000000000000000000000000000001
scala> -1 >>> 31
res32: Int = 1

對象比較

scala> 1==1
res34: Boolean = true

scala> 1==1.0
res35: Boolean = true

scala> val x="Hello"
x: String = Hello

scala> val y="Hello"
y: String = Hello

//Scala中的對象比較不同於Java中的對象比較
//Scala基於內容比較,而java中比較的是引用,進行內容比較時須定義比較方法
scala> x==y
res36: Boolean = true

運算符優先級

  運算符優先級如下圖所示,* / %優先級最高,依次類推。

運算符優先級.jpg


忠於技術,熱愛分享。歡迎關注公衆號:java大數據編程,瞭解更多技術內容。

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章