1. 程式人生 > >java基礎 02 數據類型、運算符、分支結構

java基礎 02 數據類型、運算符、分支結構

style cep 可能 ble exceptio 1.2 自動 邏輯運算 exc

內容:
  (1)數據類型
  (2)運算符
  (3)分支結構

1.數據類型

  java語言中的基本數據類型:byte、short、int、long、float、double、boolean、char。

1.1布爾類型

  在java語言中描述真假信息的類型有:boolean。

  該類型變量的數值只有兩種:true(真)、false(假)。

  該類型在內存空間中的大小沒有明確定義,通常認為是1個字節。

1.2字符類型

  在java語言中用於描述單個字符的數據類型有:char  如:‘a‘、‘b‘。

  其中char類型在內存空間中占2個字節大小,並且沒有符號,因此範圍是65535。

  該類型在以後的開發中很少使用,使用更多的是由多個字符組成的字符串,在java語言中用Sting類型來描述。

  對於字符‘a‘這樣的圖案無法存儲到計算機中,因為計算機的底層只能識別0和1組成的二進制序列,

  如果需要將‘a‘儲存起來則需要給該圖案指定一個編號,將編號記錄到計算機中,這種編號就叫做ASCII。

  常用的ASCII有:

        ‘A‘ - 65  ‘a‘ - 97  ‘0‘ - 48  空格 - 32  換行符 - 10

  轉義字符:

      \" 代表 "   \‘ 代表 ‘    \\ 代表 \    \n 代表 換行符   \t 代表 制表符

1.3 基本數據類型之間的轉換

  在Java語言中基本數據類型之間的轉換方式有兩種:

      自動類型轉換:從小類型到大類型之間的轉換

      強制類型轉換:從大類型到小類型之間的轉換

        語法格式: 目標類型 變量名 = (目標類型)源類型變量名  (不建議使用強制類型轉換,可能會有損失)

2.運算符
2.1 算術運算符

  + 表示加法運算符   - 表示減法運算符   * 表示乘法運算符

  / 表示除法運算符   % 表示取模/取余運算符

  註意:

    (1)在java語言中兩個整數相除的結果只取整數部分,丟棄小數部分。

    (2)如果希望計算結果保留小數部分,則需要進行如下處理:

      (a)讓其中一個操作數強制轉換為double類型即可。

      (b)讓其中一個操作數乘以1.0提升到double類型再運算即可。(推薦使用此方法)

    (3)在java中0不能做除數,但是0.0可以做除數,結果是無窮。

    (4)+既可以當做算數運算符,也可以作為字符串連接符,具體區分方式如下:

       當+兩邊的操作數中只要有一個是字符串類型時,則按照字符串連接符對待。

2.2 關系/比較運算符

  > 表示是否大於運算符 >    = 表示是否大於等於運算符    < 表示是否小於運算符

  <= 表示是否小於等於運算符   == 表示是否等於運算符      != 表示是否不等於運算符

  所有關系運算符作為最終運算的表達式結果一定是boolean類型。


2.3 自增減運算符

  + 表示加法運算符  ++表示自增運算符  讓變量自身的數值加1,覆蓋原來的數值。

  - 表示減法運算符  - -表示自減運算符  讓變量自身的數值減1,覆蓋原來的數值。

  註意:

    (a)對於單個變量來說,++放在變量名的前面或後面帶來的結果都是讓變量自身+1的效果。

    (b)對於表達式來說, ++a 表示先讓a自身的數值+1,然後再作為表達式的結果。

               a++ 表示先讓a作為表達式的結果,然後再讓啊自身的數值+1。

               - -a 表示先讓a自身的數值-1,然後再作為表達式的結果。

               a- - 表示先讓a作為表達式的結果,然後再讓啊自身的數值-1。

2.4 邏輯運算符

  && 表示邏輯與運算符,相當於並且,同真為真,一假為假。

  || 表示邏輯或運算符,相當於或者,一真為真,同假為假。

  ! 表示邏輯非運算符,相當於取反,真為假,假為真。

2.4.1 & 和 && 的區別

  &運算符有兩種用法:(1)按位與;(2)邏輯與。

  &&運算符是短路與運算。邏輯與跟短路與的差別是非常巨大的,雖然二者都要求運算符左右兩端的布爾值都是true 整個表達式的值才是 true。

  &&之所以稱為短路運算是因為,如果&&左邊的表達式的值是 false,右邊的表達式會被直接短路掉,不會進行運算。

  很多時候我們可能都需要用&&而不是&,例如在驗證用戶登錄時判定用戶名不是 null 而且不是空字符串,應當寫為 username != null &&!username.equals(""),二者的順序不能交換,

  更不能用&運算符,因為第一個條件如果不成立,根本不能進行字符串的 equals 比較,否則會產生 NullPointerException 異常。

  註意:邏輯或運算符(|)和短路或運算符(||)的差別也是如此。

  短路特性:

      對於邏輯與來說,若第一個操作數的結果為假,則整個表達式的結果一定為假,此時跳過第二個操作數的判斷。

      對於邏輯或來說,若第一個操作數的結果為真,則整個表達式的結果一定為真,此時跳過第二個操作數的判斷。


2.5 三目/條件運算符

  條件表達式?表達式1:表達式2

    (判斷條件表達式是否成立,若成立執行表達式1,否則執行表達式2)

java基礎 02 數據類型、運算符、分支結構