柚子快報(bào)激活碼778899分享:scala基礎(chǔ)知識(shí)
柚子快報(bào)激活碼778899分享:scala基礎(chǔ)知識(shí)
大數(shù)據(jù)開(kāi)發(fā)技術(shù)筆記
spark
大數(shù)據(jù):spark:spark--它是新一代的內(nèi)存級(jí)大數(shù)據(jù)的計(jì)算框架,spark它是大數(shù)據(jù)的重要內(nèi)容。
spark它是用scala語(yǔ)言來(lái)開(kāi)發(fā)的,所以我們?nèi)绻莆蘸胹park,就得學(xué)好scala這門語(yǔ)言。
多范式
什么是多范式:就是多種編程方法。
那么目前來(lái)說(shuō),有哪些編程方法呢?
四種:面向?qū)ο螅╦ava,C++),面向過(guò)程(功能):C,泛型,函數(shù)式編程方法。
動(dòng)態(tài)類型的編程語(yǔ)言
那么動(dòng)態(tài)類型的編程語(yǔ)言有哪些?
(python,JavaScript,php解釋型語(yǔ)言)
下課了同學(xué)們?
scala
概念
scala(scalable language)
它是一個(gè)可伸縮性的語(yǔ)言。 它是一門多范式的編程語(yǔ)言。 它是一門類似于java的語(yǔ)言。(因?yàn)樗且詊ava虛擬機(jī)(JVM)為運(yùn)行環(huán)境的。那么它是將面向?qū)ο蠛秃瘮?shù)式兩種編程方法結(jié)合在一起的語(yǔ)言。) 它是一個(gè)靜態(tài)類型的語(yǔ)言。
Scala語(yǔ)言的編譯
Scala語(yǔ)言怎么編譯:scala的源代碼(.scala)回被編譯成java字節(jié)碼(.class),然后運(yùn)行在java虛擬機(jī)上。 Scala可以調(diào)用現(xiàn)有的java類庫(kù),可以實(shí)現(xiàn)兩種語(yǔ)言間的無(wú)縫對(duì)接。
Scala語(yǔ)言的特點(diǎn)
\1. 它是兼容性的??稍L問(wèn)java類庫(kù),例如我們操作mysql,redis,activemq,freemarker。
\2. Scala語(yǔ)言它是高級(jí)的??梢宰屛覀兊贸绦蜃兊煤芮逦雌饋?lái)更加優(yōu)雅。
\3. Scala它是精簡(jiǎn)的,一行代碼可以抵上很多行的java代碼,所以它的開(kāi)發(fā)速度很快。
\4. 它是靜態(tài)類型的。它擁有非常先進(jìn)的靜態(tài)類型系統(tǒng)。比如:類型推斷,還有模式匹配等。
\5. Scala可以開(kāi)發(fā)大數(shù)據(jù)應(yīng)用程序。如:spark,flink。。。
輸出函數(shù)
Scala中,它的輸出函數(shù)是什么比如我們要打?。篽ello scala。
Java:System.out.println();
Scala:print(“hello scala”) //print/println 不換行和換行。
語(yǔ)句結(jié)束后,最后的 “ ; ” 可加可不加。
變量和常量
常量:在程序執(zhí)行的過(guò)程中,其值不會(huì)被改變的變量
0)回顧:Java變量和常量語(yǔ)法
變量類型 變量名稱 = 初始值
eg: int a = 10
final常量類型 常量名稱 = 初始值 eg: final int b = 20
1)基本語(yǔ)法
var變量
Val:它是一個(gè)只讀變量。它定義變量的時(shí)候,咱們必須初始化,因?yàn)楹竺娌荒芨淖兯?/p>
var 變量名 [: 變量類型] = 初始值
eg: var i:Int = 10
var i:String = “acbdd
val 常量
Var:它是一個(gè)可變變量,我們可以通過(guò)重新分配的方式來(lái)更改其變量值,也就是說(shuō)用var定義的變量可以被重新賦值。
val 常量名 [: 常量類型] = 初始值
eg: val j:Int = 20
// 注意:能用常量的地方不用變量
2)案例實(shí)操
(1)聲明變量時(shí),類型可以省略,編譯器自動(dòng)推導(dǎo),即類型推導(dǎo)
(2)類型確定后,就不能修改,說(shuō)明Scala是強(qiáng)數(shù)據(jù)類型語(yǔ)言。
(3)變量聲明時(shí),必須要有初始值
(4)在聲明/定義一個(gè)變量時(shí),可以使用var或者val來(lái)修飾,var修飾的變量可改變,val修飾的變量不可改。
package com.atguigu.chapter2
object TestValueTransfer {
def main(args: Array[String]): Unit = {
var n = 1 + 2.2222
println(n) //Double
?
var n2: Double = 2.2222
// ? var n3: Int = n2 //報(bào)錯(cuò)
?
var n4 : Byte = 44
// ? var c1 : Char = n4 //報(bào)錯(cuò)
var n5 : Int = n4
?
var n6 : Byte = 66
var c2 : Char = 22
// ? var n : Short = n6 + c2 //報(bào)錯(cuò),結(jié)果是Int類型
// ? var n7 : Short = 10 + 20 //報(bào)錯(cuò),byte,short,char他們?nèi)呖梢杂?jì)算,在計(jì)算時(shí)首先轉(zhuǎn)換為int類型。
?
}
}
(5)var修飾的對(duì)象引用可以改變,val修飾的對(duì)象則不可改變,但對(duì)象的狀態(tài)(值)卻是可以改變的。(比如:自定義對(duì)象、數(shù)組、集合等等)
package com.atguigu.chapter1
?
object TestVar {
def main(args: Array[String]): Unit = {
var age = 22
age = 29
// ? age = "hh" //報(bào)錯(cuò)
?
var n1 = 1 //可變
n1 = 2
?
val n2 = 2 //不可變
//n2 = 3
?
//p1 是var修飾的,p1的屬性可以變,p1本身也可以變
var p1 = new Person()
p1.name = "varp1"
p1 = null
?
val p2 = new Person()
p2.name = "valp2"
// ? p2 = null //報(bào)錯(cuò)
}
?
class Person {
var name: String = "who"
}
}
?———————————————————————————————————————————————————————————————————————————————— 版權(quán)聲明:本文為CSDN博主「工藤-新二」的原創(chuàng)文章摘抄,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。 原文鏈接:https://blog.csdn.net/qq_39346903/article/details/113562823
Scala SDK安裝:
直接下一步。注意:不要放在默認(rèn)安裝目錄下(因?yàn)槟J(rèn)目錄中有空格),也不要有中文,以及非法的字符。裝好了之后,打開(kāi)cmd命令,輸入scala -version,如果顯示了當(dāng)前安裝版本,則說(shuō)明安裝好了。
做個(gè)練習(xí):在scala編譯器里面,打?。篽ello,你好,歡迎大家來(lái)學(xué)習(xí)scala語(yǔ)言。
Idea的安裝步驟:
正在上傳…重新上傳取消
裝完了之后先不打開(kāi)。打開(kāi)idea安裝的bin目錄,把破解文件放進(jìn)去,簡(jiǎn)單說(shuō),就是把這個(gè)jar文件放到idea的啟動(dòng)項(xiàng)中。
正在上傳…重新上傳取消
然后
正在上傳…重新上傳取消
正在上傳…重新上傳取消
正在上傳…重新上傳取消
從本地目錄導(dǎo)入scala插件。
正在上傳…重新上傳取消
然后點(diǎn)擊restart重啟一下idea。
正在上傳…重新上傳取消
正在上傳…重新上傳取消
正在上傳…重新上傳取消
正在上傳…重新上傳取消
如果忘記添加插件了,可以進(jìn)去之后在files,setting里面添加,找到plugins。然后添加步驟同上面一樣。
正在上傳…重新上傳取消
柚子快報(bào)激活碼778899分享:scala基礎(chǔ)知識(shí)
精彩文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。