Java基礎語法[上]

ZHOU_VIP發表於2017-02-15
1:關鍵字(掌握)
    (1)被Java語言賦予特定含義的單詞
    (2)特點:
        全部小寫
    (3)注意事項:
        A:goto和const作為保留字存在。
        B:類似於Notepad++這樣的高階記事本會對關鍵字有特殊顏色標記

2:識別符號(掌握)
    (1)就是給類,介面,方法,變數等起名字的字元序列
    (2)組成規則:
        A:英文大小寫字母
        B:數字
        C:$和_
    (3)注意事項:
        A:不能以數字開頭
        B:不能是java中的關鍵字
        C:區分大小寫
    (4)常見的命名規則(見名知意)
        A:包    全部小寫
            單級包:小寫
                舉例:liuyi,com
            多級包:小寫,並用.隔開
                舉例:cn.itcast,com.baidu                
        B:類或者介面
            一個單詞:首字母大寫
                舉例:Student,Demo
            多個單詞:每個單詞首字母大寫
                舉例:HelloWorld,StudentName
        C:方法或者變數
            一個單詞:首字母小寫
                舉例:name,main
            多個單詞:從第二個單詞開始,每個單詞首字母大寫
                舉例:studentAge,showAllNames()
        D:常量
            全部大寫
            一個單詞:大寫
                舉例:PI
            多個單詞:大寫,並用_隔開
                舉例:STUDENT_MAX_AGE

3:註釋(掌握)
    (1)就是對程式進行解釋說明的文字
    (2)分類:
        A:單行註釋    //
        B:多行註釋    /**/
        C:文件註釋(後面講) /** */
    (3)把HelloWorld案例寫了一個帶註釋的版本。
        後面我們要寫一個程式的過程。
        需求:
        分析:
        實現:
        程式碼體現:
    (4)註釋的作用
        A:解釋說明程式,提高了程式碼的閱讀性。
        B:可以幫助我們除錯程式。
            後面我們會講解一個更高階的一個除錯工具

4:常量(掌握)
    (1)在程式執行的過程中,其值不發生改變的量
    (2)分類:
        A:字面值常量
        B:自定義常量(後面講)
    (3)字面值常量
        A:字串常量 "hello"
        B:整數常量    12,23
        C:小數常量    12.345
        D:字元常量    'a','A','0'
        E:布林常量    true,false
        F:空常量        null(後面講)
    (4)在Java中針對整數常量提供了四種表現形式
        A:二進位制        由0,1組成。以0b開頭。
        B:八進位制        由0,1,...7組成。以0開頭。
        C:十進位制        由0,1,...9組成。整數預設是十進位制。
        D:十六進位制    由0,1,...9,a,b,c,d,e,f(大小寫均可)組成。以0x開頭。

5:進位制轉換(瞭解)
    (1)其他進位制到十進位制
        係數:就是每一個位上的數值
        基數:x進位制的基數就是x
        權:對每一個位上的資料,從右,並且從0開始編號,對應的編號就是該資料的權。
        結果:係數*基數^權次冪之和。
    (2)十進位制到其他進位制
        除基取餘,直到商為0,餘數反轉。
    (3)進位制轉換的快速轉換法
        A:十進位制和二進位制間的轉換
            8421碼。
        B:二進位制到八進位制,十六進位制的轉換

6:變數(掌握)
    (1)在程式的執行過程中,其值在某個範圍內可以發生改變的量。理解:如同數學中的未知數。
    (2)變數的定義格式:
        A:資料型別 變數名 = 初始化值; String s = "hello";
        B:資料型別 變數名;            String s;
          變數名 = 初始化值;          s = "hello";
        變數的組成規則:
                A:必須對其進行限定。如何限定呢?用資料型別
                B:我們在運算的時候,不可能是拿著這個空間去運算,我們真正運算
                時使用的是該空間中的值,我們就給該空間取了一個名字,變數名。
                C:即使你有資料型別了,你有變數名了,但是如果沒有值,這個空間是一個垃圾空間,沒有任何意義。
    使用變數的時候要注意的問題:
        A:作用域
              變數定義在哪個大括號內,它就在這個大括號內有效
                          並且,在同一個大括號內不能同時定義同名的變數。
        B:初始化值
                          沒有初始化值的變數不能直接使用。
                          你只要在使用前給值就行,不一定非要在定義的時候立即給值。
        C:在一行上建議只定義一個變數,可以定義多個,但是不建議。

7:資料型別(掌握)

    (1)Java是一種強型別語言,針對每種資料都提供了對應的資料型別。
    (2)分類:
        A:基本資料型別:4類8種(整 浮 字 布)
        B:引用資料型別:類class,介面interface,陣列[]。
    (3)基本資料型別
        A:整數            佔用位元組數
            byte             1
            short            2
            int                4
            long             8
        B:浮點數
            float            4
            double        8
        C:字元
            char            2
        D:布林
            boolean      1
        注意:
            整數預設是int型別,浮點數預設是double。
        建議:    長整數要加L或者l
                       單精度的浮點數要加F或者f
                       便於區分。

8:資料型別轉換(掌握)
    (1)boolean型別不參與轉換
    (2)預設轉換
        A:從小到大
        B:byte,short,char -- int -- long -- float -- double
        C:byte,short,char之間不相互轉換,直接轉成int型別參與運算。
    (3)強制轉換
        A:從大到小
        B:可能會有精度的損失,一般不建議這樣使用。
        C:格式:
            目標資料型別 變數名 = (目標資料型別) (被轉換的資料);
            byte a = 3;
            int b = 4;
            byte c = (byte)(a+b);
        注意:不要隨意的去使用強制轉換,因為它隱含了精度損失問題。
    (4)思考題和麵試題:
        A:下面兩種方式有區別嗎?
            float f1 = (float)12.345;
            float f2 = 12.345f;
            有區別,f1其實是通過一個double型別轉換過來的
            而f2本身就是一個float型別,建議用第二個
        B:下面的程式有問題嗎,如果有,在哪裡呢?
            byte b1 = 3;
            byte b2 = 4;
            byte b3 = b1 + b2;//先轉成int型別,把int賦給byte,有問題
            byte b4 = 3 + 4;//沒有問題,常量,先把結果計算出來,然後看是否在byte的範圍內,如果在就不報錯。
        C:下面的操作結果是什麼呢? 結果:-126
            byte b = (byte)130;
                分析過程:A:獲取130這個資料的二進位制
                       00000000 00000000 00000000 10000010
                  這是130的原碼,也是反碼,還是補碼。
                  B:做擷取操作,截成byte型別的了
                  10000010
                  這個結果是補碼
                  C:已知補碼求原碼
                       符號位 數值位
                                   補碼 1     0000010
                   反碼 1     0000001
                   原碼 1     1111110
        D:字元參與運算
            是查詢ASCII裡面的值
            'a'        97
            'A'        65
            '0'        48
            System.out.println('a');    //a
            System.out.println('a' + 1);//98
        E:字串參與運算
            字串資料和其他資料做+,結果是字串型別。這裡的+不是加法運算,而是字串連線符。
            System.out.println("hello"+'a'+1);//helloa1
            System.out.println('a'+1+"hello");//98hello
            System.out.println("5+5="+5+5);//5+5=55

            System.out.println(5+5+"=5+5");//10=5+5


相關文章