好程序員大數據學習路線分享大數據之基礎語法

 1.2.1 計算機理論介紹java

 1.2.2 編程基礎--進制分類、進制轉換express

進制 編程

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

進制分類jvm

計算機中,經常使用的進制有如下幾種:工具

| 進制     | 描述                           | 示例                    | 備註         |
| -------- | ------------------------------ | ----------------------- | ------------ |
| 二進制   | 使用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開頭 |翻譯

進制轉換設計

  • 十進制轉其餘進制code

    • 展轉相除法,用數字除進制,再用商除進制,一直到商爲零結束,最後將每一步獲得的餘數倒着鏈接
  • 其餘進制轉十進制對象

    • 每一位的數字乘進制的位數-1次方,再將全部的結果累加到一塊兒
  • 二進制與八進制之間的相互轉換

    • 每個八進制位能夠等價替換成三個二進制位
    • 每個十六進制位能夠等價替換成四個二進制位

原碼、反碼、補碼

|      | 正數                             | 負數                                   |
| ---- | -------------------------------- | -------------------------------------- |
| 原碼 | 由數字直接計算出的二進制表示形式 | 最高位表示符號位: 0表明正數, 1表明負數 |
| 反碼 | 與原碼相同                       | 符號位不變, 其餘位按位取反             |
| 補碼 | 與原碼、反碼相同                 | 反碼 + 1                               |

注意事項:

  • 數據的存儲與運算都是以補碼的形式進行的
  • 補碼與補碼運算的結果仍是補碼
  • 對補碼再求一次補, 能夠獲得原碼

 1.2.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 數據類型轉換

一個變量聲明完成後, 在內存中已經開闢好了空間, 此時是不容許調整空間大小的, 也就是說這個變量的數據類型是不容許改變的。這裏說的數據類型轉換, 指的是聲明一個新的指定類型的變量, 將原來變量中的值拷貝到新的變量中。

數據類型轉換能夠分爲兩種:

  • 自動類型轉換

    • 又叫作隱式轉換, 通常是由取值範圍小的數據類型, 向取值範圍大的數據類型轉換
    • 轉換過程不須要任何額外操做
    • 轉換後, 沒有任何精度丟失狀況
  • 強制類型轉換

    • 又叫作顯式轉換, 通常是由取值範圍大的數據類型, 向取值範圍小的數據類型轉換
    • 轉換過程須要強制操做, 不能自動完成
    • 轉換後, 可能會出現精度丟失的狀況
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

相關文章
相關標籤/搜索