JAVA學習筆記——(二)

今日內容介紹
一、變量
二、運算符java

01變量概述

* A: 什麼是變量?
    * a: 變量是一個內存中的小盒子(小容器),容器是什麼?生活中也有不少容器,例如水杯是容器,用來裝載水;你家裏的大衣櫃是容器,用來裝載衣褲;飯盒是容器,用來裝載飯菜。那麼變量是裝載什麼的呢?答案是數據!結論:變量是內存中裝載數據的小盒子,你只能用它來存數據和取數據。

02計算機存儲單元

* A: 計算機中儲存和運算的最小單位是?
    * a: 一個字節,也就是一個byte.
        * win+r--cmd--回車            
    * b: 經常使用儲存單位
        *1B(字節) = 8bit
        *1KB = 1024B
        *1MB = 1024KB
        *1GB = 1024MB
        *1TB = 1024GB
        *1PB = 1024TB

03Java中數據類型四類八種

* A: 數據類型四類八種
    *四類 八種  字節數 數據表示範圍
    *整型 byte    1   -128~127
        short   2   -32768~32767
        int 4   -2147483648~2147483648
        long    8   -263~263-1
    *浮點型    float   4   -3.403E38~3.403E38
        double  8   -1.798E308~1.798E308
    *字符型    char    2   表示一個字符,如('a','A','0','家')
    *布爾型    boolean 1   只有兩個值true與false

04常量和數據類型

* A:常量的定義
    * a: 整形常量默認是int類型
    * b: 小數常量默認是double類型
    * c: 定義長整形數據若是值超過int取值範圍後面要+"L"
    * d: 定義float類型的數據後面要+"f" 不然默認是double

05變量建立的三要素

* A: 定義變量的語法格式:
    數據類型  變量名  =  變量值;
    * int         a    =  100;      
    * B:代碼:
    public class Variable {
        public static void main(String[] args) {
            int a = 10;
            double b = 3.14;
            char c = 'z';
            String s = "i love java";
        
            a = 20;
            System.out.println(a);
        }
    }

06定義全部的基本數據類型變量

* A: 案例演示
    * a: 八種基本類型數據的建立

07定義字符串變量

* A:案例演示
    * 建立字符串數據類型變量
    * String 是引用數據類型

08變量定義使用注意事項

* A:變量使用的注意事項
    * a: 變量定義後能夠不賦值,使用時再賦值。不賦值不能使用。
        public static void main(String[] args) {
        int x;
        x = 20; //爲x賦值20
        System.out.println(x);//讀取x變量中的值,再打印
        }       
    * c:    變量使用時有做用域的限制。
        public static void main(String[] args) {
        int x = 20;
        {
            int y = 20;
        }
        System.out.println(x);//讀取x變量中的值,再打印
        System.out.println(y);//讀取y變量中的值失敗,失敗緣由,找不到y變量,由於超出了y變量做用範圍,因此不能使用y變量
        }

09數類型轉換_自動轉換

* A:    自動類型轉換
    * a:表示範圍小的數據類型轉換成範圍大的數據類型,這種方式稱爲自動類型轉換
        自動類型轉換格式:
        範圍大的數據類型 變量 = 範圍小的數據類型值;
        如:
                double d = 1000;
            或
                int i = 100;
                double d2 = i;

10數據類型轉換_強制轉換

* A: 強制類型轉換
    *a: 表示範圍大的數據類型轉換成範圍小的數據類型,這種方式稱爲強制類型轉換
    *b: 強制類型轉換格式:
    範圍小的數據類型  變量 = (範圍小的數據類型) 範圍大的數據類型值;
    如:
    int  i = (int)6.718;   //i的值爲6
    或
    double  d = 3.14;
    int  i2 = (int)d;     //i2的值爲3

11算數運算符_1

* A: 常見操做
    運算符 運算規則    範例      結果
    +   正號      +3      3
    +   加       2+3     5
    +   鏈接字符串   「中」+「國」 「中國」
    -   負號      int a=3;-a  -3
    -   減       3-1     2
    *   乘       2*3     6
    /   除       5/2     2
    %   取模      5/2     1
    ++  自增      int a=1;a++/++a 2
    --  自減      int b=3;a--/--a 2
* B: 注意事項
    *a:加法運算符在鏈接字符串時要注意,只有直接與字符串相加纔會轉成字符串。
    *b:除法「/」當兩邊爲整數時,取整數部分,舍餘數。當其中一邊爲浮點型時,按正常規則相除。 
    *c:「%」爲整除取餘符號,小數取餘沒有意義。結果符號與被取餘符號相同。
    *d:整數作被除數,0不能作除數,不然報錯。
    *e:小數作被除數,整除0結果爲Infinity,對0取模結果爲NaN
* C:代碼演示
public class OperatorDemo1 {
    public static void main(String[] args) {
    /*
     * 常量使用算數運算符
     */
    System.out.println(10+20);
    
    /*
     * 變量使用算數運算符
     */
    int x = 10;
    int y = 20;
    //"+"做爲加法運算使用
    int z = x + y; 
    //"+"做爲鏈接字符串使用
    System.out.println("x="+x);
    System.out.println("y="+y);
    System.out.println("z="+z);
}

}code

12算數運算符_2

* A:算數運算符++、--的使用
    * a: ++運算符,會在原有值的基礎上自增1
    * b: --運算符,會在原有值的基礎上自減1。
* B:++  -- 位置的使用
    * a:++,--運算符後置時,先使用變量a原有值參與運算操做,運算操做完成後,變量a的值自增1或者自減1;
    * b:++,--運算符前置時,先將變量a的值自增1或者自減1,而後使用更新後的新值參與運算操做。

13賦值運算符

* A: 賦值運算符的使用
    運算符 運算規則    範例      結果
    =   賦值      int a=2     2
    +=  加後賦值    int a=2,a+=2    4
    -=  減後賦值    int a=2,a-=2    0
    *=  乘後賦值    int a=2,a*=2    4
    /=  整除後賦值   int a=2,a/=2    1
    %=  取模後賦值   int a=2,a%=2    0

* B:案例演示
    
     * 賦值運算符
     * +=, -=, *=, /=, %= : 
     * 上面的運算符做用:將等號左右兩邊計算,會將結果自動強轉成等號左邊的數據類型,再賦值給等號左邊的
     * 注意:賦值運算符左邊必須是變量
 
    public class OperatorDemo2 {
        public static void main(String[] args) {
            byte x = 10;
            x += 20;// 至關於 x = (byte)(x+20);
            #無須使用強轉
            System.out.println(x);
        }
    }

14比較運算符

* A:比較運算符的使用
    運算符 運算規則    範例  結果
    ==  相等於     4==3    False
    !=  不等於     4!=3    True
    <   小於      4<3 False
    >   大於      4> 3    True
    <=  小於等於    4<=3    False
    >=  大於等於    4>=3    True

15邏輯運算符

* A: 邏輯運算符的使用
    運算符 運算規則    範例      結果
    &   與       false&true  False
    |   或       false|true  True
    ^   異或      true^flase  True
    !   非       !true       Flase
    &&  短路與     false&&true False
    ||  短路或     false||true True

    規律小結:
        短路與&&:參與運算的兩邊數據,有false,則運算結果爲false;
        短路或||:參與運算的兩邊數據,有true,則運算結果爲true;
        邏輯非! : 參與運算的數據,原先是true則變成false,原先是false則變成true。
        ^亦或:兩邊條件同樣那麼爲false,兩邊條件不一樣爲ture;
        #通常此種運算符號只用三種:段路與,短路或和非

16三元運算符

* A: 格式:
    (條件表達式)?表達式1:表達式2;
    
* B: 代碼案例
    方式一:
    System.out.println( 3>2 ? 「正確」 : 「錯誤」 ); 
    // 三元運算符運算後的結果爲true,運算結果爲表達式1的值「正確」,而後將結果「正確」,在控制檯輸出打印

    方式二:
    int a = 3;
    int b = 4;
    String result = (a==b) ? 「相等」 : 「不相等」;  
    //三元運算符運算後的結果爲false,運算結果爲表達式2的值「不相等」,而後將結果賦值給了變量result

    方式三:
    int n = (3>2 && 4>6) ? 100 : 200;
    //三元運算符運算後的結果爲false,運算結果爲表達式2的值200,而後將結果200賦值給了變量n

17運算符優先級

優先級 描述      運算符
1   括號      ()、[]
2   正負號     +、-
3   自增自減,非  ++、--、!
4   乘除,取餘   *、/、%
5   加減      +、-
6   移位運算    <<、>>、>>>
7   大小關係    >、>=、<、<=
8   相等關係    ==、!=
9   按位與     &
10  按位異或    ^
11  按位或     |
12  邏輯與     &&
13  邏輯或     ||
14  條件運算    ?:
15  賦值運算    =、+=、-=、*=、/=、%=
16  位賦值運算   &=、|=、<<=、>>=、>>>=

18 商場庫存清單案例

如今咱們來作一個複雜點的案例——商場庫存清單案例,這個案例最終會在控制檯輸出以下結果:
blog

A: 案例分析.
    * a:觀察清單後,可將清單分解爲三個部分(清單頂部、清單中部、清單底部)
    * b:清單頂部爲固定的數據,直接打印便可
    * c:清單中部爲商品,爲變化的數據,須要記錄商品信息後,打印
        通過觀察,咱們肯定一項商品應該有以下幾個屬性:
        品牌型號: 即商品名稱,String型
        尺寸:物品大小,double型
        價格:物品單價,double型
        配置:這一項爲每種商品的配置信息,String型
        庫存數:這一項爲每種商品的庫存個數,int型

    * d:清單底部包含了統計操做,需通過計算後,打印
        咱們發現兩個單獨的可變化量
        總庫存數:全部商品總個數,int型
        庫存商品總金額:全部商品金額,double型

B: 案例代碼實現
    //步驟一:  建立Demo01庫存清單.java文件,編寫main主方法
    public class Demo01庫存清單 {
        public static void main(String[] args) {
        }
    }
    //步驟二:  記錄每種庫存商品信息
    //蘋果筆記本電腦
    String macBrand = "MacBookAir";
    double macSize = 13.3;
    double macPrice = 6988.88;
    int macCount = 5;

    //聯想Thinkpad筆記本電腦
    String thinkpadBrand = "ThinkpadT450";
    double thinkpadSize = 14.0;
    double thinkpadPrice = 5999.99;
    int thinkpadCount = 10;

    //華碩ASUS筆記本電腦
    String ASUSBrand = "ASUS-FL5800";
    double ASUSSize = 15.6;
    double ASUSPrice = 4999.50;
    int ASUSCount = 18;

    //步驟三: 統計庫存總個數、庫存總金額
    int totalCount = macCount + thinkpadCount + ASUSCount;
    double totalMoney = (macCount * macPrice) + (thinkpadCount * thinkpadPrice) + (ASUSCount * ASUSPrice);

    //步驟四: 列表頂部
    System.out.println("------------------------------商城庫存清單-----------------------------");
    System.out.println("品牌型號    尺寸  價格  庫存數");

    步驟四:打印庫存清單中部信息
    //列表中部
    System.out.println(macBrand+"   "+macSize+" "+macPrice+"    "+macCount);
    System.out.println(thinkpadBrand+"  "+thinkpadSize+"    "+thinkpadPrice+"   "+thinkpadCount);
    System.out.println(ASUSBrand+"  "+ASUSSize+"    "+ASUSPrice+"   "ASUSCount);
    打印庫存清單底部信息
    //列表底部
    System.out.println("-----------------------------------------------------------------------");
    System.out.println("總庫存數:"+totalCount); 
    System.out.println("庫存商品總金額:"+totalMoney);
相關文章
相關標籤/搜索