Scala介紹及其基本語法

2022-10-04 03:36:07 字數 2301 閱讀 7737

1、scala概述

(1)scala 是 scalable language 的簡寫,是一門多正規化的程式語言

(2)scala是把函式式程式設計思想和物件導向程式設計思想結合的一種程式語言。

(3)大資料計算引擎spark又scala編寫

2、scala與j**a的區別
test.j**a---(j**ac編譯)--->test.class---->jvm執行

test.scala---(scalac編譯)--->test.class---->jvm執行

scala與j**a都是基於jvm執行的語言

(1)j**a的輸出語句在scala中可以使用(scala的println底層和j**a是一樣的)

println()<=>system.out.println()

(2)j**a中的類在scala中可以直接使用,兩者只是語法不一樣

(3)在scala中,語句末尾的分號可以省略(通常不寫)

(4)在scala中,返回值可以省略不寫(通常寫上)

3、scala的基本語法

(1)scala類和main方法的介紹

/**

* class:是乙個類

* object:本身是個類,也是乙個物件,object中定義的所有的方法可以直接呼叫,object相當於靜態

*/object demo1

}/**

* main 需要放在object內才能執行

* def: 定義方法的關鍵字

* main : 方法名

* (args: array[string]) 方法的引數

* args:引數名,array[string]:引數型別(字串陣列)

* :scala中的泛型

* unit: 返回值,相當於void

*///執行結果

李玉偉lyw

process finished with exit code 0

(2)變數和常量
var----定義變數

val----定義常量

盡量使用val,因為效能更好

scala中的變數型別可以自動推斷(通過等號右邊推斷等號左邊的型別),定義的時候不需要我們指定

package com.shujia.scala

import j**a.io.

import j**a.util

object demo2

}

//定義乙個j**a中的類

public class demo4

}

(4)scala中的迴圈
package com.shujia.scala

import scala.io.

object demo5

println("=" * 10) //分隔行

//scala中的增強for迴圈while迴圈

var i = 0

while(i < array.length)

println("=" * 10) //分隔行

/*** foreach方法

* (i => println(i)) 匿名函式

*/array.foreach(n=>println(n))

println("=" * 10) //分隔行

/*** io流: scala可以使用j**a中的io流

* scala中讀檔案的類:source

*/val source: bufferedsource = source.fromfile("data/students.txt") //返回乙個bufferedsource型別

val lines: iterator[string] = source.getlines() //返回乙個迭代器

//增強for迴圈遍歷迭代器

for (line <- lines)

}}

(5)字串拼接
bject demo5 shujia"

println(sp1) //j**ascalahadoopshujia

}}

(6)scala的jdbc
前提:需要有mysql的依賴

mysql

mysql-connector-j**a

5.1.40

bject demo5 

//關閉鏈結

con.close()

}}

Scala基本語法

scala基本語法 object表示物件,因為scala中沒有靜態物件這一說,但是要實現單例模式該怎麼辦呢?這時就可以使用object關鍵字。如果要對某個類實現單例模式,我們可以使用object 再定義乙個同class 類名相同的物件。它和class定義的類的區別在於,object定義的物件不允許有...

mysql儲存過程基本介紹及其基本語法

mysql儲存過程 儲存過程 stored procedure 是一種在資料庫中儲存複雜程式,以便外部程式呼叫的一種資料庫物件。儲存過程是為了完成特定功能的sql語句集,經編譯建立並儲存在資料庫中,使用者可通過指定儲存過程的名字並給定引數 需要時 來呼叫執行。儲存過程思想上很簡單,就是資料庫 sql...

5 scala 基本語法

spring cloud 實戰 乾貨 mybatis 實戰 乾貨 spring boot 實戰 乾貨 react 入門實戰 乾貨 構建中小型網際網路企業架構 乾貨 python 學習持續更新 elasticsearch 筆記 scala 學習持續更新 當迴圈結束後,會返回所有 yield 的值組成的...