day02

今日內(nèi)容介紹

1、變量

2、運(yùn)算符

01變量概述

* A: 什么是變量?
    * a: 變量是一個(gè)內(nèi)存中的小盒子(小容器),容器是什么?生活中也有很多容器,例如水杯是容器,用來裝載水;你家里的大衣柜是容器,用來裝載衣褲;飯盒是容器,用來裝載飯菜。那么變量是裝載什么的呢?答案是數(shù)據(jù)!結(jié)論:變量是內(nèi)存中裝載數(shù)據(jù)的小盒子,你只能用它來存數(shù)據(jù)和取數(shù)據(jù)。

02計(jì)算機(jī)存儲(chǔ)單元

* A: 計(jì)算機(jī)中儲(chǔ)存和運(yùn)算的最小單位是?
    * a: 一個(gè)字節(jié),也就是一個(gè)byte.
        * win+r--cmd--回車            
    * b: 常用儲(chǔ)存單位
        *1B(字節(jié)) = 8bit
        *1KB = 1024B
        *1MB = 1024KB
        *1GB = 1024MB
        *1TB = 1024GB
        *1PB = 1024TB

03Java中數(shù)據(jù)類型四類八種

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

04常量和數(shù)據(jù)類型

* A:常量的定義
    * a: 整形常量默認(rèn)是int類型
    * b: 小數(shù)常量默認(rèn)是double類型
    * c: 定義長整形數(shù)據(jù)如果值超過int取值范圍后面要+"L"
    * d: 定義float類型的數(shù)據(jù)后面要+"f" 否則默認(rèn)是double

05變量創(chuàng)建的三要素

* A: 定義變量的語法格式:
    數(shù)據(jù)類型  變量名  =  變量值;
    * 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定義所有的基本數(shù)據(jù)類型變量

* A: 案例演示
    * a: 八種基本類型數(shù)據(jù)的創(chuàng)建

07定義字符串變量

* A:案例演示
    * 創(chuàng)建字符串?dāng)?shù)據(jù)類型變量
    * String 是引用數(shù)據(jù)類型

08變量定義使用注意事項(xiàng)

* A:變量使用的注意事項(xiàng)
    * a: 變量定義后可以不賦值,使用時(shí)再賦值。不賦值不能使用。
        public static void main(String[] args) {
        int x;
        x = 20; //為x賦值20
        System.out.println(x);//讀取x變量中的值,再打印
        }

?

    * c:    變量使用時(shí)有作用域的限制。
        public static void main(String[] args) {
        int x = 20;
        {
            int y = 20;
        }
        System.out.println(x);//讀取x變量中的值,再打印
        System.out.println(y);//讀取y變量中的值失敗,失敗原因,找不到y(tǒng)變量,因?yàn)槌隽藋變量作用范圍,所以不能使用y變量
        }

    ?   

?

09數(shù)據(jù)類型轉(zhuǎn)換_自動(dòng)轉(zhuǎn)換

* A: ?  自動(dòng)類型轉(zhuǎn)換
    * a:表示范圍小的數(shù)據(jù)類型轉(zhuǎn)換成范圍大的數(shù)據(jù)類型,這種方式稱為自動(dòng)類型轉(zhuǎn)換
        自動(dòng)類型轉(zhuǎn)換格式:
        范圍大的數(shù)據(jù)類型 變量 = 范圍小的數(shù)據(jù)類型值;
        如:
                double d = 1000;
            或
                int i = 100;
                double d2 = i;

10數(shù)據(jù)類型轉(zhuǎn)換_強(qiáng)制轉(zhuǎn)換

* A: 強(qiáng)制類型轉(zhuǎn)換
    *a: 表示范圍大的數(shù)據(jù)類型轉(zhuǎn)換成范圍小的數(shù)據(jù)類型,這種方式稱為強(qiáng)制類型轉(zhuǎn)換
    *b: 強(qiáng)制類型轉(zhuǎn)換格式:
    范圍小的數(shù)據(jù)類型  變量 = (范圍小的數(shù)據(jù)類型) 范圍大的數(shù)據(jù)類型值;
    如:
    int  i = (int)6.718;   //i的值為6
    或
    double  d = 3.14;
    int  i2 = (int)d;     //i2的值為3

11算數(shù)運(yùn)算符_1

* A: 常見操作
    運(yùn)算符 運(yùn)算規(guī)則    范例      結(jié)果
    +   正號(hào)      +3      3
    +   加       2+3     5
    +   連接字符串   “中”+“國” “中國”
    -   負(fù)號(hào)      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: 注意事項(xiàng)
    *a:加法運(yùn)算符在連接字符串時(shí)要注意,只有直接與字符串相加才會(huì)轉(zhuǎn)成字符串。
    *b:除法“/”當(dāng)兩邊為整數(shù)時(shí),取整數(shù)部分,舍余數(shù)。當(dāng)其中一邊為浮點(diǎn)型時(shí),按正常規(guī)則相除。 
    *c:“%”為整除取余符號(hào),小數(shù)取余沒有意義。結(jié)果符號(hào)與被取余符號(hào)相同。
    *d:整數(shù)做被除數(shù),0不能做除數(shù),否則報(bào)錯(cuò)。
    *e:小數(shù)做被除數(shù),整除0結(jié)果為Infinity,對0取模結(jié)果為NaN
* C:代碼演示
public class OperatorDemo1 {
    public static void main(String[] args) {
    /*
     * 常量使用算數(shù)運(yùn)算符
     */
    System.out.println(10+20);
    
    /*
     * 變量使用算數(shù)運(yùn)算符
     */
    int x = 10;
    int y = 20;
    //"+"作為加法運(yùn)算使用
    int z = x + y; 
    //"+"作為連接字符串使用
    System.out.println("x="+x);
    System.out.println("y="+y);
    System.out.println("z="+z);
}

}

12算數(shù)運(yùn)算符_2

* A:算數(shù)運(yùn)算符++、--的使用
    * a: ++運(yùn)算符,會(huì)在原有值的基礎(chǔ)上自增1
    * b: --運(yùn)算符,會(huì)在原有值的基礎(chǔ)上自減1。
* B:++  -- 位置的使用
    * a:++,--運(yùn)算符后置時(shí),先使用變量a原有值參與運(yùn)算操作,運(yùn)算操作完成后,變量a的值自增1或者自減1;
    * b:++,--運(yùn)算符前置時(shí),先將變量a的值自增1或者自減1,然后使用更新后的新值參與運(yùn)算操作。

13賦值運(yùn)算符

* A: 賦值運(yùn)算符的使用
    運(yùn)算符 運(yùn)算規(guī)則    范例      結(jié)果
    =   賦值      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:案例演示
    
     * 賦值運(yùn)算符
     * +=, -=, *=, /=, %= : 
     * 上面的運(yùn)算符作用:將等號(hào)左右兩邊計(jì)算,會(huì)將結(jié)果自動(dòng)強(qiáng)轉(zhuǎn)成等號(hào)左邊的數(shù)據(jù)類型,再賦值給等號(hào)左邊的
     * 注意:賦值運(yùn)算符左邊必須是變量
 
    public class OperatorDemo2 {
        public static void main(String[] args) {
            byte x = 10;
            x += 20;// 相當(dāng)于 x = (byte)(x+20);
            System.out.println(x);
        }
    }

======================第四節(jié)課開始=========

14比較運(yùn)算符

* A:比較運(yùn)算符的使用
    運(yùn)算符 運(yùn)算規(guī)則    范例  結(jié)果
    ==  相等于     4==3    False
    !=  不等于     4!=3    True
    <   小于      4<3 False
    >   大于      4>3 True
    <=  小于等于    4<=3    False
    >=  大于等于    4>=3    True

15邏輯運(yùn)算符

* A: 邏輯運(yùn)算符的使用
    運(yùn)算符 運(yùn)算規(guī)則    范例      結(jié)果
    &   與       false&true  False
    |   或       false|true  True
    ^   異或      true^flase  True
    !   非       !true       Flase
    &&  短路與     false&&true False
    ||  短路或     false||true True

    規(guī)律小結(jié):
        短路與&&:參與運(yùn)算的兩邊數(shù)據(jù),有false,則運(yùn)算結(jié)果為false;
    ?   短路或||:參與運(yùn)算的兩邊數(shù)據(jù),有true,則運(yùn)算結(jié)果為true;
    ?   邏輯非! : 參與運(yùn)算的數(shù)據(jù),原先是true則變成false,原先是false則變成true。

16三元運(yùn)算符

* A: 格式:
    (條件表達(dá)式)?表達(dá)式1:表達(dá)式2;
    
* B: 代碼案例
    方式一:
    System.out.println( 3>2 ? “正確” : “錯(cuò)誤” ); 
    // 三元運(yùn)算符運(yùn)算后的結(jié)果為true,運(yùn)算結(jié)果為表達(dá)式1的值“正確”,然后將結(jié)果“正確”,在控制臺(tái)輸出打印

    方式二:
    int a = 3;
    int b = 4;
    String result = (a==b) ? “相等” : “不相等”;  
    //三元運(yùn)算符運(yùn)算后的結(jié)果為false,運(yùn)算結(jié)果為表達(dá)式2的值“不相等”,然后將結(jié)果賦值給了變量result

    方式三:
    int n = (3>2 && 4>6) ? 100 : 200;
    //三元運(yùn)算符運(yùn)算后的結(jié)果為false,運(yùn)算結(jié)果為表達(dá)式2的值200,然后將結(jié)果200賦值給了變量n

17運(yùn)算符優(yōu)先級(jí)

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

18 商場庫存清單案例

A: 案例分析.
    * a:觀察清單后,可將清單分解為三個(gè)部分(清單頂部、清單中部、清單底部)
    * b:清單頂部為固定的數(shù)據(jù),直接打印即可
    * c:清單中部為商品,為變化的數(shù)據(jù),需要記錄商品信息后,打印
        經(jīng)過觀察,我們確定一項(xiàng)商品應(yīng)該有如下幾個(gè)屬性:
        品牌型號(hào): 即商品名稱,String型
        尺寸:物品大小,double型
        價(jià)格:物品單價(jià),double型
        配置:這一項(xiàng)為每種商品的配置信息,String型
        庫存數(shù):這一項(xiàng)為每種商品的庫存?zhèn)€數(shù),int型

    * d:清單底部包含了統(tǒng)計(jì)操作,需經(jīng)過計(jì)算后,打印
        我們發(fā)現(xiàn)兩個(gè)單獨(dú)的可變化量
        總庫存數(shù):所有商品總個(gè)數(shù),int型
        庫存商品總金額:所有商品金額,double型

B: 案例代碼實(shí)現(xiàn)
    //步驟一:  創(chuàng)建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;

    //聯(lián)想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;

    //步驟三: 統(tǒng)計(jì)庫存總個(gè)數(shù)、庫存總金額
    int totalCount = macCount + thinkpadCount + ASUSCount;
    double totalMoney = (macCount * macPrice) + (thinkpadCount * thinkpadPrice) + (ASUSCount * ASUSPrice);

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

?   步驟四:打印庫存清單中部信息
    //列表中部
    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("總庫存數(shù):"+totalCount); 
    System.out.println("庫存商品總金額:"+totalMoney);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1 關(guān)鍵字 1.1 關(guān)鍵字的概述 Java的關(guān)鍵字對java的編譯器有特殊的意義,他們用來表示一種數(shù)據(jù)類型,或...
    哈哈哎呦喂閱讀 788評(píng)論 0 0
  • 02.01_Java語言基礎(chǔ)(常量的概述和使用)(掌握) A:什么是常量在程序執(zhí)行的過程中其值不可以發(fā)生改變 B:...
    苦笑男神閱讀 235評(píng)論 0 1
  • 數(shù)據(jù)類型 計(jì)算機(jī)顧名思義就是可以做數(shù)據(jù)計(jì)算的機(jī)器,因此,計(jì)算機(jī)程序理所當(dāng)然的可以處理各種數(shù)值。但是,計(jì)算機(jī)能處理的...
    mr_young_閱讀 370評(píng)論 0 2
  • 今日忙忙碌碌又一天,其實(shí)真正做事的時(shí)間不過是去輔導(dǎo)班輔導(dǎo)小學(xué)生寫作業(yè),今日真是費(fèi)勁的一日,三個(gè)小女孩寫作業(yè)超級(jí)慢,...
    青檸檬粉檸檬lemon閱讀 257評(píng)論 0 0
  • 今天剽悍晨讀分享的書籍是《寫出我心》,其中談到自由書寫,我深以為然。 今天從東京返回上海,結(jié)束了五日自由行。 離開...
    醬油不打醬油閱讀 321評(píng)論 2 2

友情鏈接更多精彩內(nèi)容