欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:大數(shù)據(jù) Scala學(xué)習(xí)(三)

柚子快報激活碼778899分享:大數(shù)據(jù) Scala學(xué)習(xí)(三)

http://yzkb.51969.com/

2.8 浮點類型(Float、Double)

Scala的浮點類型可以表示一個小數(shù),比如123.4f,7.8,0.12等等。 1)浮點型分類 數(shù)據(jù)類型 描述 Float [4] 32 位, IEEE 754標(biāo)準(zhǔn)的單精度浮點數(shù) Double [8] 64 位 IEEE 754標(biāo)準(zhǔn)的雙精度浮點數(shù) 2)案例實操 Scala的浮點型常量默認(rèn)為Double型,聲明Float型常量,須后加‘f’或‘F’。

object Test03_Type{

def main(args: Array[String]): Unit = {

// 浮點數(shù)介紹

// 默認(rèn)使用double

val d: Double = 3.14

// 如果使用float 在末尾添加f

val fl = 3.14f

// 浮點數(shù)計算有誤差

println(0.1 / 3.3)

}

}

//運行的結(jié)果

0.030303030303030307

2.9 字符類型(Char)

1)基本說明 字符類型可以表示單個字符,字符類型是Char。 2)案例實操 (1)字符常量是用單引號 ’ ’ 括起來的單個字符。 (2)\t :一個制表位,實現(xiàn)對齊的功能 (3)\n :換行符 (4)\ :表示 (5)" :表示"

object Test03_Type{

def main(args: Array[String]): Unit = {

// (1)字符常量是用單引號 ' ' 括起來的單個字符。

val c1: Char = 'a'

val c2: Char = 65535

// (2)\t :一個制表位,實現(xiàn)對齊的功能

val c3: Char = '\t'

// (3)\n :換行符

val c4: Char = '\n'

println(c3 + 0)

println(c4 + 0)

// (4)\\ :表示\

val c5: Char = '\\'

println(c5 + 0)

// (5)\" :表示"

val c6: Char = '\"'

println(c6 + 0)

}

}

2.10 布爾類型:Boolean

1)基本說明 (1)布爾類型也叫Boolean類型,Booolean類型數(shù)據(jù)只允許取值true和false (2)boolean類型占1個字節(jié)。 2)案例實操

object Test03_Type{

def main(args: Array[String]): Unit = {

val bo1: Boolean = true

val bo2: Boolean = false

}

}

2.11 Unit類型、Null類型和Nothing類型(重點)

1)基本說明 數(shù)據(jù)類型 描述 Unit 表示無值,和其他語言中void等同。用作不返回任何結(jié)果的方法的結(jié)果類型。Unit只有一個實例值,寫成()。 Null null , Null 類型只有一個實例值null Nothing Nothing類型在Scala的類層級最低端;它是任何其他類型的子類型。 當(dāng)一個函數(shù),我們確定沒有正常的返回值,可以用Nothing來指定返回類型,這樣有一個好處,就是我們可以把返回的值(異常)賦給其它的函數(shù)或者變量(兼容性) 2)案例實操 (1)Unit類型用來標(biāo)識過程,也就是沒有明確返回值的函數(shù)。 由此可見,Unit類似于Java里的void。Unit只有一個實例——( ),這個實例也沒有實質(zhì)意義。

object Test03_Type{

def main(args: Array[String]): Unit = {

// unit

val unit1: Unit = {

10

println("1")

}

println(unit1)

// 如果標(biāo)記對象的類型是unit的話 后面有返回值也沒法接收

// unit雖然是數(shù)值類型 但是可以接收引用數(shù)據(jù)類型 因為都是表示不接收返回值

val i3: Unit = "aa"

println(i3)

}

}

(2)Null類只有一個實例對象,Null類似于Java中的null引用。Null可以賦值給任意引用類型(AnyRef),但是不能賦值給值類型(AnyVal)。

object Test03_Type {

def main(args: Array[String]): Unit = {

// scala當(dāng)中使用的字符串就是java中的string

val aa: String = "aa"

// null

var aa1: String = "aa"

aa1 = "bb"

aa1 = null

if (aa1 != null) {

val strings: Array[String] = aa1.split(",")

}

// 值類型不能等于null,idea不會識別報錯 編譯器會報錯

var i4 = 10

// i4 = null

}

}

(3)Nothing,可以作為沒有正常返回值的方法的返回類型,非常直觀的告訴你這個方法不會正常返回,而且由于Nothing是其他任意類型的子類,他還能跟要求返回值的方法兼容。

object Test03_Type {

def main(args: Array[String]): Unit = {

val value: Nothing = {

println("hello")

1 + 1

throw new RuntimeException()

}

}

}

2.12 類型轉(zhuǎn)換

Java的隱式轉(zhuǎn)換規(guī)則:

public class TestCast {

public static void main(String[] args) {

byte n = 23;

test(n);

}

public static void test(byte b) {

System.out.println("bbbb");

}

public static void test(short b) {

System.out.println("ssss");

}

public static void test(char b) {

System.out.println("cccc");

}

public static void test(int b) {

System.out.println("iiii");

}

}

2.12.1 數(shù)值類型自動轉(zhuǎn)換

當(dāng)Scala程序在進行賦值或者運算時,精度小的類型自動轉(zhuǎn)換為精度大的數(shù)值類型,這個就是自動類型轉(zhuǎn)換(隱式轉(zhuǎn)換)。數(shù)據(jù)類型按精度(容量)大小排序為: 1)基本說明 (1)自動提升原則:有多種類型的數(shù)據(jù)混合運算時,系統(tǒng)首先自動將所有數(shù)據(jù)轉(zhuǎn)換成精度大的那種數(shù)據(jù)類型,然后再進行計算。 (2)把精度大的數(shù)值類型賦值給精度小的數(shù)值類型時,就會報錯,反之就會進行自動類型轉(zhuǎn)換。 (3)(byte,short)和char之間不會相互自動轉(zhuǎn)換。 (4)byte,short,char他們?nèi)呖梢杂嬎悖谟嬎銜r首先轉(zhuǎn)換為int類型。 2)案例實操

object Test04_TypeCast {

def main(args: Array[String]): Unit = {

// (1)自動提升原則:有多種類型的數(shù)據(jù)混合運算時,

// 系統(tǒng)首先自動將所有數(shù)據(jù)轉(zhuǎn)換成精度大的那種數(shù)據(jù)類型,然后再進行計算。

val fl: Float = 1 + 1L + 3.14f

val d: Double = 1 + 1L + 3.14f + 3.14

// (2)把精度大的數(shù)值類型賦值給精度小的數(shù)值類型時,就會報錯,反之就會進行自動類型轉(zhuǎn)換。

val i = 10

val b: Double = i

// (3)(byte,short)和char之間不會相互自動轉(zhuǎn)換。

// 因為byte和short是有符號的數(shù)值,而char是無符號的

val b1: Byte = 10

val c1: Char = 20

// (4)byte,short,char他們?nèi)呖梢杂嬎?,在計算時首先轉(zhuǎn)換為int類型。

val b2: Byte = 20

// val i1: Byte = b1 + b2

val i1: Int = 1100000000

val i2: Int = 1200000000

// 超出范圍的int值計算會造成結(jié)果錯誤

val i3: Int = i1 + i2

println(i3)

}

}

注意:Scala還提供了非常強大的隱式轉(zhuǎn)換機制(隱式函數(shù),隱式類等)

2.12.2 強制類型轉(zhuǎn)換

1)基本說明 自動類型轉(zhuǎn)換的逆過程,將精度大的數(shù)值類型轉(zhuǎn)換為精度小的數(shù)值類型。使用時要加上強制轉(zhuǎn)函數(shù),但可能造成精度降低或溢出,格外要注意。 Java : int num = (int)2.5 Scala : var num : Int = 2.7.toInt 2)案例實操 (1)將數(shù)據(jù)由高精度轉(zhuǎn)換為低精度,就需要使用到強制轉(zhuǎn)換。 (2)強轉(zhuǎn)符號只針對于最近的操作數(shù)有效,往往會使用小括號提升優(yōu)先級。

object Test04_TypeCast {

def main(args: Array[String]): Unit = {

// 強制類型轉(zhuǎn)換

val d1 = 2.999

// (1)將數(shù)據(jù)由高精度轉(zhuǎn)換為低精度,就需要使用到強制轉(zhuǎn)換

println((d1 + 0.5).toInt)

// (2)強轉(zhuǎn)符號只針對于最近的操作數(shù)有效,往往會使用小括號提升優(yōu)先級

println((10 * 3.5 + 6 * 1.5).toInt)

}

}

2.12.3 數(shù)值類型和String類型間轉(zhuǎn)換

1)基本說明 在程序開發(fā)中,我們經(jīng)常需要將基本數(shù)值類型轉(zhuǎn)成String類型?;蛘邔tring類型轉(zhuǎn)成基本數(shù)值類型。 2)案例實操 (1)基本類型轉(zhuǎn)String類型(語法:將基本類型的值+“” 即可)。 (2)String類型轉(zhuǎn)基本數(shù)值類型(語法:s1.toInt、s1.toFloat、s1.toDouble、s1.toByte、s1.toLong、s1.toShort)。

object Test04_TypeCast {

def main(args: Array[String]): Unit = {

// (1)基本類型轉(zhuǎn)String類型(語法:將基本類型的值+"" 即可)

val string: String = 10.0.toString

println(string)

val str: String = 1 + ""

// (2)String類型轉(zhuǎn)基本數(shù)值類型(語法:s1.toInt、s1.toFloat、s1.toDouble、s1.toByte、s1.toLong、s1.toShort)

val double: Double = "3.14".toDouble

println(double + 1)

println(double.toInt)

// 不能直接將小數(shù)類型的字符串轉(zhuǎn)換為整數(shù) 需要先轉(zhuǎn)換為double再轉(zhuǎn)換int

// println("3.14".toInt)

// 標(biāo)記為f的float數(shù)能夠識別

// println("12.6f".toFloat)

}

}

擴展面試題數(shù)值存儲機制介紹:

object Test04_TypeCast {

def main(args: Array[String]): Unit = {

// 將int值130強轉(zhuǎn)為byte 值為多少

// 0000 0000 ..16.. 1000 0010 => 表示int的130

val i4 = 130

// 1000 0010

println(i4.toByte)

}

}

柚子快報激活碼778899分享:大數(shù)據(jù) Scala學(xué)習(xí)(三)

http://yzkb.51969.com/

精彩內(nèi)容

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19056465.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄