資料型別和運算子

??魯阿豔??發表於2020-11-12

關鍵字:

具有特殊含義、被保留的、不能隨意使用的字元,這樣的字元我們就稱為關鍵字

新增註釋

註釋:就是對程式碼的解釋和說明,其目的就是其他開發者能輕鬆的瞭解程式碼。註釋是不影響程式的編譯和執行。
java中的註釋有三種:

  • ​ 單行註釋以 //開頭 換行結束
  • ​ 多行註釋以"/"開頭,以"/"結束
  • ​ 文件註釋以"/**"開頭,以"*/"結束

識別符號

識別符號:一般是指在程式中,我們自定義的內容。比如說類的名字(HelloWorld)、方法的名字(main)和變數的名字等等,都是識別符號。

​識別符號的命名規則:硬性要求

  • ​識別符號可以包含英文字母26個(區分大小寫)、0-9數字、_(下劃線)、$(美元符號)
  • ​識別符號不能以數字開頭
  • ​識別符號不能是關鍵字

​ 命名規範:軟性建議

  • ​建議類名首字母大寫,後面的每個單詞首字母建議大寫(大駝峰命名法)

  • ​方法名首字母小寫,後面的每個單詞首字母建議大寫(小駝峰命名法)

  • 變數名,全部小寫。

  • ​識別符號儘量達到見名知意的效果。

  • 常量

常量:在程式的執行期間,固定不變的量。

常量的分類:

  • 字串常量: 凡是用雙引號引起來的部分,叫做字串的常量 "今天是我學習Java的第二天"
  • 整數常量: 直接寫上的數字,沒有小數點。如 18、28、20、-5
  • 浮點數(小數)常量: 直接寫上的數字,有小數點。如3.14、0.0
  • 字元常量: 凡是用單引號引起來的單個字元,就叫做字元常量 如 '男' 、 '女'、'A'、'9'
  • 布林常量: 只有true、false。
  • 空常量: null。代表沒有任何資料,在記憶體中不存在。空常量不能直接用來列印輸出

變數

​ 變數:在程式執行期間,內容可以發生變化的量。

數學中, 3 + 5 = 8---> x + 5 = 8 或者 3 + x = 8

​ 在程式中,可以使用字母儲存數字的方式進行運算,提高計算能力,可以解決更多的實際問題。比如x儲存3,x也可以儲存5,x儲存數字(資料)是可以發生改變的,我們一般稱這個x為變數。

備註:java中,一個變數每次只能儲存一個資料,而且要明確儲存的資料型別。

資料型別

​分類:

  • ​ 基本資料型別:如 整數、浮點數、字元、布林

  • ​ 引用資料型別 如 類、陣列、介面等

    基本資料型別:

    ​四類八種基本資料型別:

    資料型別 關鍵字 記憶體大小 取值範圍
    位元組型 byte 1個位元組 1B -128~127 2^7-1
    短整型 short 2個位元組 2B -32768~32767 2^15-1
    整形 int 4個位元組 4B 21開頭的十位數 2^31-1
    長整型 long 8個位元組 8B 92開頭的19位數 2^63-1
    單精度浮點數 float 4個位元組 4B -1.4013E-45~3.4028E+38
    雙精度浮點數 double 8個位元組 8B 4.9E-324~1.7977E+308
    字元型 char 2個位元組 2B 0~65535
    布林型別 boolean 1個位元組 1B true、false

    備註:java中的預設資料型別:整數型別為int,浮點數型別為double。

    計算機基礎知識:

    ​ 二進位制:計算機中的資料全部採用的是二進位制數表示 ,只包含0、1兩個數,逢二進一, 1+1=10。

    ​ 每一個1或者每一個0,叫做一個bit(位元)(位)

    ​ 位元組:

    ​ 位元組稱為我們計算機中最小的儲存單元。計算機中儲存任何的資料,都是以位元組的形式進行儲存。

    ​ 1個位元組 = 8個位元(二進位制位) 0000-0000表示一個位元組,寫成1byte或者1B

    • ​ 8bit = 1B

    • ​ 1024B = 1KB

    • ​ 1024KB = 1MB

    • ​ 1024MB = 1GB

    • ​ 1024GB = 1TB

    • ​ 1024TB = 1PB

    • ​ 1024PB = 1EB

    • ​ 1024EB = 1ZB

      變數的定義

      變數定義具備三元素:資料型別、變數名、資料值。

      格式:

      ​變數的資料型別 變數名 = 變數值;

      變數定義注意事項

      使用變數的時候,需要注意的事項如下:
      1.建立多個變數的時候,變數之間的名稱不可以重複;
      2.對於float和long型別來說,變數的資料值後面需要新增字母F和L
      3.如果使用byte或者是short型別的變數,那麼右側的資料值不能超過左側型別的範圍。
      4.沒有進行賦值的變數,不能直接使用,能夠使用的變數一定是經過初始化(賦值)。
      5.變數的使用不能超出它對應的作用域。
      6.可以通過一個語句來建立多個變數,但是不建議使用。
      作用域---->{} 左半部分{ 代表作用域的起始位置
      右半部分} 代表作用域的結束位置

      轉義字元

      ​ 一些具有特殊含義的字元,通過"\"來進行轉義

      \t  ---->一個製表符(佔8位)  一個tab縮排
      

      ​ \n ---->一個換行符 newLine()

      ​ \r ----->一個回車符 按一下enter鍵

      ​ \b ---->退一格

      資料型別之間的轉換

      ​ java程式中要求參與計算的資料,必須保證資料型別的一致性,當資料型別不一致的時候,將會發生資料型別轉換。

      資料型別之間的轉換分為兩種:

      • ​ 自動型別轉換(隱式)

        ​ 自動轉換:將取值範圍小的型別自動提升為取值範圍大的型別。

        byte型別在記憶體中佔1個位元組,需要和int型別的變數做運算會自動提升為int型別,自動補充3個位元組,計算的結果自然就是int型別。

      • ​ 強制型別轉換(顯式)

        ​ 強制型別轉換:將取值範圍大的型別轉換成取值範圍小的型別

        ​ 格式:資料型別 變數名 = (資料型別) 被轉資料值;

      ASCII(美國資訊交換標準程式碼)

      ​數字和字元的對照關係表(編碼表)

      ASCII編碼:American Standard Code for Information Interchange

      ​ Unicode編碼:萬國碼。也是數字和字元符號的對照關係表,開頭0-127部分和ASCII完全一樣,但是從128開始包含更多的字元。

      ​需要記憶 :

      ​ 48----->‘0’

      ​ 57------>'9'

      65----->'A'  
      

      ​ 90------>'Z'

      ​ 97----->'a'

      ​ 122--->'z'

      在計算機內部運算採用的是二進位制的方式,裡面的資料都是二進位制0、1格式,如何讓計算機識別人類文字

      就出現了編碼表的概念。

      ​ 編碼表:就是將人類的文字和一個十進位制數進行對應起來組成的一張表格。

​ 將所有的英文字母、數字、符號都和十進位制數進行對應,產生了世界上第一張編碼表(ASCII)

​ 備註:在char和int型別進行計算的過程中,char型別的字元會被轉成int型別,需要查詢編碼表

運算子

  • ​ 算術運算子

    算術運算子 含義
    + 加法運算、字串拼接運算、正數
    - 減法運算、負數
    * 乘法運算、萬用字元
    / 除法運算(求商數)
    % 除法運算(取餘數、取模運算)
    ++ 自加一運算
    -- 自減一運算
  • ​ 比較運算子

    比較運算子 含義
    == 相等比較
    < 小於比較
    > 大於比較
    >= 大於等於比較
    <= 小於等於比較
    != 不等於比較

    備註:比較運算子,運算的結果都是布林型別值true、false。

    注意事項:

    ​ 如果我們進行多次判斷,不能連著寫。

    ​ 數學當中, a < 3 a >-1------> -1 < a < 3

    ​ 在程式當中,【不允許】這種操作。

  • ​ 賦值運算子

    賦值運算子 含義
    = 賦值
    += 加等於
    -= 減等於
    *= 乘等於
    /= 商等於
    %= 模等於

    備註:

    1. 重點掌握【=】基本賦值運算子
    2. 剩下的都是複合賦值運算子
    3. 只有變數才可以使用賦值運算子,常量不能進行賦值
    4. 複合賦值運算子其中隱含了一個強制型別轉換。
  • ​ 邏輯運算子

    邏輯運算子 含義
    && 短路與 1.如果兩邊都是true,結果為true;2.如果一邊為false,結果就是false
    || 短路或 1.如果兩邊任意一邊是true,結果則為true,否則為false
    ! 取反(取非) 如果為false,結果為true;反之則為false。
    ^ 異或 如果兩邊有且只有一個為true,結果則為true,否則為false。

位運算子

運算子 含義 示例
<< 左移 5 << 2 = 20 ---> 5 * 2^2 = 5 * 4 = 20
>> 右移 5 >> 1 = 2 ---> 5 / 2^1 = 5 / 2 = 2
>>> 無符號右移 5 >>> 1 = 2---> 5 / 2^1 = 5 / 2 = 2
& 與運算(只要有一個為0,運算結果則為0,否則為1) 5 & 3 = 1
| 或運算(只要有一個為1,運算結果就為1,否則為0) 5 | 3 = 7
^ 異或運算(如果兩個數值一樣,運算結果就為0,否則為1) 5 ^ 3 = 6
~ 取反運算(瞭解) ~6--->0110 = -7

備註:位運算計算機底層採用的對整數進行二進位制運算。

​ 【沒有無符號左移位運算子】

二進位制整數表示:原碼、反碼、補碼

三目運算子

​ ?:

三目運算子格式:

​ 布林型別表示式 ? 真的結果值 : 假的結果值

三目運算子格式:
資料型別 變數名 = 布林型別表示式 ? 真的結果值 : 假的結果值

計算方式:

​如果布林型別表示式結果是true,三目運算子運算的結果為緊鄰?後面的值

如果布林型別表示式結果是false,三目運算子運算的結果為緊鄰:後面的值。

備註:當三目運算子運算參與有其他的運算(如賦值運算),要求三目運算子中的 ?和: 後面的值的【資料型別保持一致】。

相關文章