日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

一天学完spark的Scala基础语法教程一、基础语法与变量(idea版本)

發布時間:2024/8/26 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一天学完spark的Scala基础语法教程一、基础语法与变量(idea版本) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

📋前言📋

💝博客主頁:紅目香薰_CSDN博客-大數據,計算機理論,MySQL領域博主💝

?本文由在下【紅目香薰】原創,首發于CSDN?

🤗2022年最大愿望:【服務百萬技術人次】🤗

💝初始環境地址:【spark環境搭建(idea版本)_紅目香薰-CSDN博客】💝


環境需求

環境:win10

開發工具:IntelliJ IDEA 2021.2

maven版本:3.6.3

目錄

📋前言📋

環境需求

創建測試類:

基本語法

標識符

Scala 關鍵字

Scala 注釋

空行和空格

換行符

Scala 包

定義包

引用

Scala 數據類型

Scala 基礎字面量

整型字面量?

浮點型字面量

布爾型字面量

字符字面量

字符串字面量

多行字符串的表示方法

Null 值

Scala 轉義字符

????????Scala 變量

????????變量聲明

總結:


創建測試類:

【day1/demo1.scala】

這里是有包名(后面有講述)的

?通過Package可以創建包名

基本語法

Scala 基本語法需要注意以下幾點:

  • 區分大小寫?- ?Scala是大小寫敏感的,這意味著標識Hello 和 hello在Scala中會有不同的含義。

  • 類名?-?對于所有的類名的第一個字母要大寫。
    如果需要使用幾個單詞來構成一個類的名稱,每個單詞的第一個字母要大寫。

    示例:class MyFirstScalaClass

  • 方法名稱?- 所有的方法名稱的第一個字母用小寫。
    如果若干單詞被用于構成方法的名稱,則每個單詞的第一個字母應大寫。

    示例:def myMethodName()

  • 程序文件名?- 程序文件的名稱應該與對象名稱完全匹配(新版本不需要了,但建議保留這種習慣)。
    保存文件時,應該保存它使用的對象名稱(記住Scala是區分大小寫),并追加".scala"為文件擴展名。 (如果文件名和對象名稱不匹配,程序將無法編譯)。

    示例:?假設"HelloWorld"是對象的名稱。那么該文件應保存為'HelloWorld.scala"

  • def main(args: Array[String])?-?Scala程序從main()方法開始處理,這是每一個Scala程序的強制程序入口部分。

標識符

Scala 可以使用兩種形式的標志符,字符數字和符號。

字符數字使用字母或是下劃線開頭,后面可以接字母或是數字,符號"$"在 Scala 中也看作為字母。然而以"$"開頭的標識符為保留的 Scala 編譯器產生的標志符使用,應用程序應該避免使用"$"開始的標識符,以免造成沖突。

Scala 的命名規則采用和 Java 類似的 camel 命名規則,首字符小寫,比如 toString。類名的首字符還是使用大寫。此外也應該避免使用以下劃線結尾的標志符以避免沖突。符號標志符包含一個或多個符號,如+,:,? 等

+ ++ ::: < ?> :->

Scala 關鍵字

下表列出了 scala 保留關鍵字,我們不能使用以下關鍵字作為變量:

abstractcasecatchclass
defdoelseextends
falsefinalfinallyfor
forSomeifimplicitimport
lazymatchnewnull
objectoverridepackageprivate
protectedreturnsealedsuper
thisthrowtraittry
truetypevalvar
whilewithyield
-:==>
<-<:<%>:
#@

Scala 注釋

Scala 類似 Java 支持單行和多行注釋。多行注釋可以嵌套,但必須正確嵌套,一個注釋開始符號對應一個結束符號。注釋在 Scala 編譯中會被忽略,

實例如下:

package day1 /* 這是一個 Scala 程序* 這是一行注釋* 這里演示了多行注釋*/ object demo1 {def main(args: Array[String]) {// 輸出 Hello World// 這是一個單行注釋println("Hello, world!")} }

空行和空格

一行中只有空格或者帶有注釋,Scala 會認為其是空行,會忽略它。標記可以被空格或者注釋來分割。

換行符

Scala是面向行的語言,語句可以用分號(;)結束或換行符。Scala 程序里,語句末尾的分號通常是可選的。如果你愿意可以輸入一個,但若一行里僅 有一個語句也可不寫。另一方面,如果一行里寫多個語句那么分號是需要的。

例如:

package day1object demo1 {def main(args: Array[String]) {val s = "菜鳥教程";println(s);println(s);} }

Scala 包

定義包

Scala 使用 package 關鍵字定義包,在Scala將代碼定義到某個包中有兩種方式:

第一種方法和 Java 一樣,在文件的頭定義包名,這種方法就后續所有代碼都放在該包中。

比如:

//包名 package day1 //類名 object demo1 {//函數名def main(args: Array[String]) {} }

引用

Scala 使用 import 關鍵字引用包。

//包名 package day1 //引入util下所有 import java.util._ //類名 object demo1 {//函數名def main(args: Array[String]) {} }

Scala 數據類型

Scala 與 Java有著相同的數據類型,下表列出了 Scala 支持的數據類型:

數據類型描述
Byte8位有符號補碼整數。數值區間為 -128 到 127
Short16位有符號補碼整數。數值區間為 -32768 到 32767
Int32位有符號補碼整數。數值區間為 -2147483648 到 2147483647
Long64位有符號補碼整數。數值區間為 -9223372036854775808 到 9223372036854775807
Float32 位, IEEE 754 標準的單精度浮點數
Double64 位 IEEE 754 標準的雙精度浮點數
Char16位無符號Unicode字符, 區間值為 U+0000 到 U+FFFF
String字符序列
Booleantrue或false
Unit表示無值,和其他語言中void等同。用作不返回任何結果的方法的結果類型。Unit只有一個實例值,寫成()。
Nullnull 或空引用
NothingNothing類型在Scala的類層級的最底端;它是任何其他類型的子類型。
AnyAny是所有其他類的超類
AnyRefAnyRef類是Scala里所有引用類(reference class)的基類

上表中列出的數據類型都是對象,也就是說scala沒有java中的原生類型。在scala是可以對數字等基礎類型調用方法的。

Scala 基礎字面量

Scala 非常簡單且直觀。接下來我們會詳細介紹 Scala 字面量。

整型字面量?

整型字面量用于 Int 類型,如果表示 Long,可以在數字后面添加 L 或者小寫 l 作為后綴。

浮點型字面量

如果浮點數后面有f或者F后綴時,表示這是一個Float類型,否則就是一個Double類型的。

布爾型字面量

布爾型字面量有 true 和 false。 ??

字符字面量

在 Scala 字符變量使用單引號?'?來定義,如下:

package day1object demo1 {def main(args: Array[String]) {var c='A';println(c+0)} }

字符串字面量

在 Scala 字符串字面量使用雙引號?"?來定義,如下:

package day1object demo1 {def main(args: Array[String]) {println("Hello,\nWorld!")} }

多行字符串的表示方法

多行字符串用三個雙引號來表示分隔符,格式為:""" ... """。

實例如下:

package day1object demo1 {def main(args: Array[String]) {val str ="""道路千萬條安全第一條行車不規范親人兩行淚""";print(str);} }

Null 值

空值是 scala.Null 類型。

Scala.Null和scala.Nothing是用統一的方式處理Scala面向對象類型系統的某些"邊界情況"的特殊類型。

Null類是null引用對象的類型,它是每個引用類(繼承自AnyRef的類)的子類。Null不兼容值類型。

Scala 轉義字符

下表列出了常見的轉義字符:

轉義字符Unicode描述
\b\u0008退格(BS) ,將當前位置移到前一列
\t\u0009水平制表(HT) (跳到下一個TAB位置)
\n\u000a換行(LF) ,將當前位置移到下一行開頭
\f\u000c換頁(FF),將當前位置移到下頁開頭
\r\u000d回車(CR) ,將當前位置移到本行開頭
\"\u0022代表一個雙引號(")字符
\'\u0027代表一個單引號(')字符
\\\u005c代表一個反斜線字符 '\'

0 到 255 間的 Unicode 字符可以用一個八進制轉義序列來表示,即反斜線?\?后跟 最多三個八進制。

在字符或字符串中,反斜線和后面的字符序列不能構成一個合法的轉義序列將會導致 編譯錯誤。

package day1object demo1 {def main(args: Array[String]) {println("Hello\tWorld\n\n" );} }


Scala 變量

變量是一種使用方便的占位符,用于引用計算機內存地址,變量創建后會占用一定的內存空間。

基于變量的數據類型,操作系統會進行內存分配并且決定什么將被儲存在保留內存中。因此,通過給變量分配不同的數據類型,你可以在這些變量中存儲整數,小數或者字母。

變量聲明

在學習如何聲明變量與常量之前,我們先來了解一些變量與常量。

  • 一、變量: 在程序運行過程中其值可能發生改變的量叫做變量。如:時間,年齡。
  • 二、常量 在程序運行過程中其值不會發生變化的量叫做常量。如:數值 3,字符'A'。

在 Scala 中,使用關鍵詞?"var"?聲明變量,使用關鍵詞?"val"?聲明常量。

由于Scala是屬于弱類型的,故而變量類型不需要單獨聲明,當然想聲明也可以:

val Str : String = "test";//聲明類型的變量

聲明變量實例如下:

package day1object demo1 {def main(args: Array[String]) {var isf=true;//true與falsevar c ='y';//short.Max*2,字符ASCII碼var i=666;//int最大值21億var l=99999999999999999l;//long類型需要一個小寫的【l】結尾var f=3.14f;//float需要【f】結尾var d=3.1415926;//double不需要var s="Hello";} }

總結:

到這里有關spark的Scala基礎語法教程一、基礎語法與變量(idea版本)就講解完了。

希望能對大家有所幫助。

歡迎一鍵三連,謝謝。

總結

以上是生活随笔為你收集整理的一天学完spark的Scala基础语法教程一、基础语法与变量(idea版本)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。