大資料:大資料之基礎語法

好程式設計師IT發表於2020-03-11

大資料:分享大資料之基礎語法

1 計算機理論介紹

 

2 程式設計基礎 -- 進位制分類、進位制轉換

 

進位制

 

就是進位制。指的是我們來表示一個數字的時候進位的制度。

 

進位制分類

 

計算機中,常用的進位制有以下幾種:

 

| 進位制      | 描述                            | 示例                     | 備註          |

| -------- | ------------------------------ | ----------------------- | ------------ |

| 二進位制    | 使用 0 1 來描述所有的自然數      | 0, 1, 10, 11, 100, 101  | 使用 `0b` 開頭 |

| 八進位制    | 使用 0-7 來描述所有的自然數       | 4, 5, 6, 7, 10, 11, 12  | 使用 `0` 開頭   |

| 十進位制    | 使用 0-9 來描述所有的自然數       | 6, 7, 8, 9, 10, 11, 12  |              |

| 十六進位制 | 使用 0-9, a-f 來描述所有的自然數 | 9, A, B, C, D, E, F, 10 | 使用 `0x` 開頭 |

 

進位制轉換

 

- 十進位制轉其他進位制

  - 輾轉相除法,用數字除進位制,再用商除進位制,一直到商為零結束,最後將每一步得到的餘數倒著連線

- 其他進位制轉十進位制

  - 每一位的數字乘進位制的位數 -1 次方,再將所有的結果累加到一起

- 二進位制與八進位制之間的相互轉換

  - 每一個八進位制位可以等價替換成三個二進位制位

  - 每一個十六進位制位可以等價替換成四個二進位制位

 

原碼、反碼、補碼

 

|      | 正數                              | 負數                                    |

| ---- | -------------------------------- | -------------------------------------- |

| 原碼 | 由數字直接計算出的二進位制表示形式 | 最高位表示符號位 : 0 代表正數 , 1 代表負數 |

| 反碼 | 與原碼相同                        | 符號位不變 , 其他位按位取反              |

| 補碼 | 與原碼、反碼相同                  | 反碼 + 1                               |

 

注意事項:

 

- 資料的儲存與運算都是以補碼的形式進行的

- 補碼與補碼運算的結果還是補碼

- 對補碼再求一次補 , 可以得到原碼

 

 

3 什麼是 Java

 

Java 是一種物件導向的程式設計語言,可以使用這種語言編寫程式,實現我們想要的一些功能。主要分三塊 :

 

J2SE: Java 的標準版,用於標準的應用程式開發。

 

J2ME: Java 的微型版,常用於移動端的開發。

 

J2EE: Java 的企業版,用於企業級的應用服務開發。

 

Java 程式的執行,需要先將 .java 原始檔編譯成 .class 位元組碼檔案,然後由 jvm 虛擬機器將這些位元組碼檔案翻譯成機器語言,然後執行相應的操作。

 

常用名詞解釋

 

JDK: Java Development Kit, Java 開發框架 , 開發 Java 程式需要用到的各種工具包。

 

JRE: Java Runtime Envrioment, Java 執行時環境。

 

JVM: Java Virtual Mechine, Java 虛擬機器 , 能夠執行 Java 程式

 

 

1.2.4 常用 DOS 命令

 

- cd: 切換到指定的路徑

 

- dir: 列舉當前目錄下的所有檔案和資料夾

 

- mkdir: 建立資料夾

 

- rmdir: 刪除資料夾

 

1.2.5 JDK 的安裝與環境變數的配置

 

- JDK 的安裝

 

  - 找到對應的版本號 , 直接安裝即可

  - 安裝完成後 , jdk bin 目錄下 , 有編譯執行 Java 程式所需要的指令

 

- 環境變數的配置

 

  - 為什麼要配置環境變數

 

    - 因為我們需要使用 bin 目錄下的 javac java 指令來編譯和執行程式 , 而使用這兩個程式的話 , 就需要先用 cd 切到指定路徑下才能執行 , 並且引數需要寫 java 檔案所在的目錄 , 因此在編譯和執行程式的時候非常不方便。因此需要將 bin 目錄新增到環境變數 , 這樣我們就可以在任意的路徑下使用 javac java 指令 , 來對我們的程式進行編譯和執行。

 

  - 怎麼配置環境變數

 

    - 我的電腦 -> 右鍵 -> 屬性 -> 高階系統設定 -> 環境變數

    - 選擇系統變數 -> Path -> 編輯

      - win10: 新建一個變數 , jdk 下面的 bin 目錄貼上進去 , 並上移到最上方

      - win7/8: jdk 下面的 bin 目錄的路徑貼上到所有路徑的最前方 , 然後新增一個路徑分隔符 ;

 

  - 怎麼驗證環境變數是否配置成功

 

    - 新建一個 DOS 視窗 , 輸入指令 javac, 如果沒有錯誤提示就是是成功

 

1.2.6 註釋

 

註釋是對程式碼的描述, 是開發者寫給自己或者別人看的 , 相當於我們記錄的一些筆記 , 或者備忘錄。 註釋部分的內容不會被編譯 , 因此沒有語法上的要求。

 

註釋可以分為三類:

 

- 單行註釋 : 以兩個 // 開頭 , 後面的一行內容會被註釋

- 多行註釋 : 以一個 /* 開頭 , 以一個 */ 結尾。中間所有的內容都會被註釋

- 文件註釋 : /** 開頭 , */ 結尾。文件註釋中可以新增一些標籤 , 更方便的記錄程式的資訊

 

 

1.2.7 資料型別

 

在程式中, 我們需要操作各種各樣的資料 , 這些資料都有各自不同的型別。

 

Java , 所有的資料可以分為兩大類 : 基本資料型別和引用資料型別

 

引用資料型別, 又叫做引用型別。在後面課程中具體說明。

 

基本資料型別, 又叫做值型別 , Java 中有以下分類 :

 

- 整型

 

  - 就是整數 , 按照佔用空間大小 , 分為四種

  - 位元組型 : byte, 1byte, [-128, 127]

  - 短整型 : short, 2byte, [-2^15^, 2^15^-1]

  - 整型 : int, 4byte, [-2^31^, 2^31^-1]

  - 長整型 : long, 8byte, [-2^63^, 2^63^-1]

 

- 浮點型

 

  - 就是小數 , 按照佔用空間大小 , 分為兩種

  - 單精度浮點型 : float, 4byte

  - 雙精度浮點型 : double, 8byte

  - 雙精度浮點型可以比單精度浮點型精確更多的小數點後面的位數

 

- 布林型

 

  - 用來描述程式中不是對的就是錯的 , 不是真的就是假的資料

  - boolean, 1byte

  - 只有兩個值 : true / false

 

- 字元型

 

  - 用來描述組成一個文字的最小單元

  - char, 2byte

  - 字元型的資料 , 需要用單引號括起來 , 單引號中只能有一個字元 , 不能多也不能少

 

1.2.8 識別符號

 

由若干個字元組成的一個有序的序列, 用來描述程式中的一個資料

 

命名規則

 

- 只能由字母、數字、下劃線和 $ 符號組成

- 不能以數字作為開頭

- 不能與關鍵字和保留字同名

  - 關鍵字 : 系統佔用的 , 已經被賦予了特殊含義的字元序列

  - 保留字 : 系統佔用的 , 暫時還沒有特殊含義 , 但是後續可能會用到的字元序列

 

命名規範

 

- 望文知意 : 應該可以從識別符號的命名中看出想表述的資料含義

 

- 遵循駝峰命名法

 

  - 大駝峰命名法 : 所有的單詞首字母都大寫

  - 小駝峰命名法 : 首單詞除外 , 從第二個單詞開始 , 每個單詞的首字母都大寫

 

1.2.9 變數和常量

 

變數: 在程式執行的過程中 , 數值可以發生改變的資料

 

常量: 在程式執行的過程中 , 數值不可以發生改變的資料

 

在程式中的宣告

 

- 變數

  - 資料型別 識別符號 ;

  - 資料型別 識別符號 = 初始值 ;

  - 資料型別 識別符號 1, 識別符號 2, ...;

  - 資料型別 識別符號 1 = 初始值 , 識別符號 2, 識別符號 3 = 初始值 , ...;

- 常量

  - final 資料型別 識別符號 = 初始值 ;

  - final 資料型別 識別符號 ; 識別符號 = 初始值 ;

  - Java 允許在宣告常量的時候不賦值初始值 , 可以延遲賦值。但是賦值只能進行一次。

 

 

1.2.10 跳脫字元

 

一個特殊的字元\, 主要有兩個作用

 

- 可以將某些具有特殊含義的字元轉成普通字元

 

  - 單引號 , 用來匹配一個字元的開始和結尾 , 跳脫字元可以使其成為一個普通的單引號

  - 雙引號 , 用來匹配一個字串的開始和結尾 , 跳脫字元可以使其成為一個普通的雙引號

 

- 可以配合某些普通字元使用 , 使其沒有特殊含義

 

  - n 本身是一個普通字元 , 配合跳脫字元使用 : \n 表示換行

  - t 本身是一個普通字元 , 配合跳脫字元使用 : \t 表示 tab

  - r 本身是一個普通字元 , 配合跳脫字元使用 : \r 表示 return

 

1.2.11 資料型別轉換

 

一個變數宣告完成後, 在記憶體中已經開闢好了空間 , 此時是不允許調整空間大小的 , 也就是說這個變數的資料型別是不允許改變的。這裡說的資料型別轉換 , 指的是宣告一個新的指定型別的變數 , 將原來變數中的值複製到新的變數中。

 

資料型別轉換可以分為兩種:

 

- 自動型別轉換

  - 又叫做 ** 隱式轉換 **, 一般是由取值範圍小的資料型別 , 向取值範圍大的資料型別轉換

  - 轉換過程不需要任何額外操作

  - 轉換後 , 沒有任何精度丟失情況

- 強制型別轉換

  - 又叫做 ** 顯式轉換 **, 一般是由取值範圍大的資料型別 , 向取值範圍小的資料型別轉換

  - 轉換過程需要強制操作 , 不能自動完成

  - 轉換後 , 可能會出現精度丟失的情況

 

java

byte a = 10;

int b = a;    // byte 型別轉型為 int 型別 , 自動完成 , 不需要任何額外操作

 

int c = 128;

byte d = (byte)c; // int 型別轉型為 byte 型別 , 強制操作 , 會存在精度丟失

 

 

 

額外說明

 

- byte, short, char 型別的資料在進行運算的時候 , 會自動的轉型為 int 型別

- 浮點型轉整型 , 會捨去小數點後面所有的內容 , 只保留整數部分

 

 

1.2.12 常用運算子

 

算術運算子

 

用來做基礎的算術計算, + - * / % ++ --

 

其中:

 

- \+ \- \* % 和數學計算中沒有區別

- 兩個整型的資料進行除法 , 結果還是整型 , 會將計算的浮點結果強轉成整型

- 自增運算子 ++, 用在變數前 , 表示是前取變數值 , 後對這個變數進行 +1 操作

- 自增運算子 ++, 用在變數後 , 表示是先對這個變數進行 +1 操作 , 然後再取變數值

- 自減同自增

 

> int a = 10;

>

> int b = a++;    // b 的值是 10

>

> int c = ++b;    // c 的值是 11

 

 

賦值運算子

 

=: 將等號右邊的值 , 給左邊的變數進行賦值

 

+=, -=, *=, /=, %=: 組合運算子 , 對一個變數進行運算

 

> a += 10; 等價於 a = a + 10

 

 

關係運算子

 

\> < >= <= == !=

 

 

邏輯運算子

 

& : and

 

| : or

 

! : not

 

^ : 異或 xor, 計算邏輯 : 兩個相同為 false, 兩個不同為 true

 

&& :

 

短路與, 結果與邏輯與相同 . 區別在於 : 如果前面的結果可以決定整體的運算結果 , 後面的表示式不參與運算

 

|| :

 

短路或, 結果與邏輯或相同 . 區別在於 : 如果前面的結果可以決定整體的運算結果 , 後面的表示式不參與運算

 

位運算

 

位運算操作的是兩個整型的數字, 計算的邏輯就是將兩個整型的數字求出補碼 , 再對補碼的每一位做類似於邏輯運算的操作 , 其中 1 相當於 true, 0 相當於 false

 

 

三目運算子

 

condition ? expression1 : expression2

 

condition 是一個 boolean 型別的變數 , 或者一個 boolean 結果的表示式 . 如果 condition true, 最終整體的結果取 expression1, 否則 , 結果取 expression2



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2679670/,如需轉載,請註明出處,否則將追究法律責任。

相關文章