java--java語言基礎(2)--黑馬程式員

來源:互聯網
上載者:User

標籤:

------Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流! -------

java語言基礎(2)

主要內容:《進位、原碼反碼補碼、變數、資料類型、類型轉換、運算子》

1 不同進位資料的表現形式

         A.將每三位取出,轉換為十進位:

                            10011100101

           每三位取出:

                                010   011  100  101

           轉成十進位:

                     2     3     4     5

           組成一個新的數字:2345,它是一個八位元

           八進位在源碼中可以表示為:

           在記憶體中儲存的仍然是二進位:

         B.將每四位取出,轉換為十進位:

                            10011100101

           每四位取出:

                            0100 1110 0101

           轉成十進位:

                            4     14    5

           組成一個新的數字:十以上使用字母:A,B,C,D,E,F

          4E5。它是一個十六進位數;

           十六進位數在源碼中表示為:

           在記憶體中仍然儲存是二進位;

二進位      

由0,1組成。以0b開頭

八進位      

由0,1,…7組成。以0開頭

十進位      

由0,1,…9組成。整數預設是十進位的

十六進位   

由0,1,…9,a,b,c,d,e,f(大小寫均可)。以0x開頭

2 十進位到任意進位的轉換圖解

十進位與其它進位的轉換:

         十進位的表示方法:

         32652

         =3 * 10000 + 2 * 1000 + 6 * 100 + 5 * 10 + 2

         =3 * 10^4 + 2 * 10^3 + 6 * 10^2 + 5 * 10^1 + 2 * 10^0

         係數:每一位上的資料;

         基數:10(進位數,我們這裡是十進位)

         權:多少次冪;

         整個運算式:係數 * 基數(的權次冪),的累加和

         二進位轉換為十進位的表示方式:

         11111110:使用十進位的公式表示一下:

         = 1 * 2^7 + 1 * 2^6 + 1 * 2^5 + 1 * 2^4 + 1 * 2^3 + 1 * 2^2 + 1 * 2^1 + 0 * 2^0

         = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 0

         = 254

         八進位轉換為十進位:

         (0)376:使用十進位的公式:

         =       3 * 8^2 + 7 * 8^1 + 6 * 8^0

         =       192 + 56 + 6

         =       254

         十六進位轉換為十進位:

         (0x)FE:使用十進位的公式:

         = F * 16^1 + E * 16^0

         = 15 * 16^1 + 14 * 16^0

         = 240 + 14

         = 254

         十進位到二進位:用除法

                   十進位到其它進位:用除法;

         其它進位到十進位:用乘法;

3 原碼反碼補碼的講解

有符號資料標記法

在電腦內,有符號數有3種標記法:原碼、反碼和補碼。所有資料的運算都是採用補碼進行的。

原碼

就是二進位定點標記法,即最高位為符號位,“0”表示正,“1”表示負,其餘位表示數值的大小。

反碼

正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。

補碼

正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。

4 變數的概述及格式

為什麼需要變數:

         1.當我們反覆的想使用一個資料,例如:公司使用3.14159作為計算圓面積的π值:

           如果直接使用字面量,容易發生寫錯的情況。如果這個值需要更改,所有的位置都需要改;

         2.我們可以給這個值起個名字,以後使用這個名字即可;

         3.給某個值起個名字,這個就是"變數名":

         4.變數的定義格式:

                            資料類型  變數名  [ = 初始化值];

                            說明:

                                               資料類型:後邊說;

                                               變數名:自訂的標識符。遵循標識符的命名規則和命名規範;

                                               初始化值:在聲明時,可以不指定初始化值,但不能訪問這個變數的值;

所以,建議在聲明變數時,都要初始化值;

5 資料類型的概述和分類

Java中的資料類型:

                   1.基礎資料型別 (Elementary Data Type):四類八種:

                            四類:

                                     整數:byte,short,int,long

                                     浮點:float,double

                                     字元:char

                                     布爾:boolean

                   2.引用資料類型:

                  注意:在Java中,所有的"整數字面量"全部使用int類型儲存;

               在Java中,所有的"浮點字面量"全部使用double類型儲存;

                     boolean的空間大小:有效位是1位。在記憶體中,使用int空間對一個boolean類型的值進行運算。

        整數預設:int    小數預設:double

6 使用變數的注意事項

使用變數注意事項:

範圍      

變數定義在哪一級大括弧中,哪個大括弧的範圍就是這個變數的範圍。相同的範圍中不能定義兩個同名變數。

初始化值

沒有初始化值不能直接使用

在一行上建議只定義一個變數

可以定義多個,但是不建議

定義字串類型:

         1.在Java中"字串"不是"基礎資料型別 (Elementary Data Type)";它是一個"引用資料類型";

         2.目前只需要學會"定義字串"就可以;

         3.定義格式:

                            String 變數名 = 值;

7 資料類型轉換之隱式轉換

byte,short,char—int—long—float—double

byte,short,char相互之間補轉換,他們參與運算首先轉換為int類型

8 資料類型轉換之強制轉換

         1.將一個"寬類型"轉換為一個"窄類型"時,叫:"強制類型轉換";

         2.強制類型轉換:截掉高位,保留低位。其結果可能不可預知;

         3.任何的"數實值型別"都可以強制轉換;

         4.boolean類型不能轉換為其它類型;

9 面試題之變數相加和常量相加的區別

byte b1 = 10;

         byte b2 = 20;

         byte b3 = b1 + b2;//編譯錯誤

         byte b4 = b1 + 20;//編譯錯誤

         byte b5 = 10 + b2;//編譯錯誤

         byte b6 = 10 + 20;//OK的

字串的相加:

         +符號:如果左右兩邊是"數實值型別",做加法運算;

                      如果左右兩邊,有一邊是"字串"類型,將做"字串串連"。返回一個"字串"

10 算術運算子的基本用法

整數除0:運行時異常;

         整數模0:運行時異常;

         浮點除0:出現Infinity

         浮點模0:出現NaN

11 賦值運算子的基本用法

1.=  2.+=  3.-=     4.*=       5./=  6.%=

基本賦值運算子:順序:從右至左。整個複製運算式最後會返回這個變數

12 邏輯運算子的基本用法

 

1.&& : 邏輯與(並且):左右兩邊都為true,結果為:true。有一個為false,結果就為false;

                   2.|| :邏輯或(或者):左右兩邊有一邊為true,結果為:true。

                   3.!  : 非(不是....):!true等於false,!false等於true.

                  位元運算符:可用作布爾的判斷;它們的結果跟"邏輯與"和"邏輯或"一樣的。

                   1.& : 與:

                   2.| : 或

                   3.^ : 異或:兩位相同,結果為:false;兩位不同,結果為:true

        

13邏輯運算子&&和&的區別

按位&與邏輯&&和按位|與邏輯||的區別:

         1.邏輯&&和邏輯||"具有短路行為";一旦確定整個運算式的結果,將不再繼續判斷後續運算式;

         2.按位&和按位|"不具有"短路行為";每個運算式都會執行到。但結果與使用邏輯運算子是一樣的。

14 關係運算子的基本用法

1.==:判斷是否相等:相等返回true,否則返回false;

         2.!:  判斷是否不等。不等,返回true,否則返回false;

         3.<:  判斷左運算元是否小於右運算元。是:返回true,否則返回false;

         4.>:  判斷左運算元是否大於右運算元。是:返回true,否則返回false;

         5.<= :判斷左運算元是否小於或等於右運算元。是:返回true,否則返回false;

         6.>= :判斷左運算元是否大於或等於右運算元。是:返回true,否則返回false;

         7.instanceof:在物件導向那裡說;

java--java語言基礎(2)--黑馬程式員

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.