<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • java基礎考試題及答案(大一java考試題庫)


    前言

    Java語言的數據類型是Java語言中最基礎也是最重要的知識,參加Java筆試的時候應該是必考的,參加面試的時候也有可能會問到,以此考察面試者對Java基礎知識的掌握程度。

    Java語言的數據類型可以分為:基本數據類型和引用數據類型。在Java中,引用數據類型的變量非常類似于C/C++的指針,對象、數組都是引用數據類型。本文重點介紹Java的基本數據類型。

    Java基本數據類型

    Java語言內置的基本數據類型共有8種,可以分為四類:

    • 整數類型:long、int、short、byte
    • 浮點類型:float、double
    • 字符類型:char
    • 布爾類型:boolean

    整數類型

    四種整數類型分別有不同的位數:

    • byte 數據類型是8位、有符號的以二進制補碼表示的整數;
    • short 數據類型是 16 位、有符號的以二進制補碼表示的整數;
    • int 數據類型是32位、有符號的以二進制補碼表示的整數;
    • long 數據類型是 64 位、有符號的以二進制補碼表示的整數。

    有符號數是指數值有正負號的區別。計算機中的有符號數有三種表示方法,即原碼、反碼和補碼。三種表示方法均有符號位和數值位兩部分,符號位都是用0表示“正”,用1表示“負”,而數值位,三種表示方法各不相同。

    二進制補碼:正整數的補碼是其二進制表示;0的補碼就是全0;負整數的補碼是除符號位外的所有位取反后加1。

    比如byte類型-5的補碼:-5帶符號位是10000101,除符號位全部取反是11111010,再加1就是11111011,就得到了-5的補碼。

    浮點類型

    float 數據類型是單精度32位、符合IEEE 754標準的浮點數;double 數據類型是雙精度64 位、符合IEEE 754標準的浮點數。IEEE 754標準是一種浮點數的表示形式,篇幅有限,本文暫不做詳細描述。

    float 比 double 更節省空間,double可以存儲精度更高的浮點數。兩者均不建議用來表示貨幣,貨幣應該用整數類型表示。

    字符類型

    char類型是一個16 位 Unicode 字符,最小值是 u0000(即為 0);最大值是 uffff(即為65535)。

    布爾類型

    boolean數據類型只有兩種取值,true(真)或false(假)。

    默認值和取值范圍

    每一種基本數據類型都有系統默認值,在JVM為其分配內存的時候就會以系統默認值初始化?,F將每一種數據類型的默認值和取值范圍總結如下。Java面試必考問題:Java基本數據類型

    基本數據類型的默認值和取值范圍

    對于每一種數據類型的取值范圍,我們不需要刻意記憶,這些取值范圍都已經以常量的形式定義在基本數據類型對應的包裝類中。Java面試必考問題:Java基本數據類型

    基本類型與對應包裝類

    每一種基本類型,在java.lang中都有對應的包裝類,比如boolean類型對應的包裝類是 java.lang.Boolean。將基本數據類型封裝成對象的好處在于可以在對象中定義更多的功能方法來操作該數據。比如包裝類的 toString() 方法用于基本數據類型與字符串之間的轉換。

    類型轉換

    基本數據類型的類型轉換分為自動類型轉換 強制類型轉換。

    自動類型轉換,也稱隱式類型轉換,是指不需要書寫代碼,由系統自動完成的類型轉換。轉換規則:從存儲范圍小的類型到存儲范圍大的類型。

    byte b = 10;
    short sh = b;

    因為 b 是byte型,存儲范圍比short型小,所以JVM可以自動把 b 轉換為short型,并賦值給 sh.

    強制類型轉換,也稱顯式類型轉換,是指必須書寫代碼才能完成的類型轉換。轉換規則:從存儲范圍大的類型到存儲范圍小的類型。可能會造成精度損失。

    double pi = 3.14;
    int p = (int) pi; //這里就是強制轉換

    因為 double型的存儲范圍比 int型大,所以必須使用強制類型轉換 把 pi 轉換為 int型。

    基本數據類型的存儲

    那么在程序中定義的基本數據類型,JVM會如何存儲呢?這個要看情況。

    Java方法中定義的基本數據類型,屬于局部變量,存放在虛擬機棧VM Stack)中。

    Java類中定義的基本數據類型,如果是非靜態成員變量,其所在類被實例化后,是放在堆內存Heap)中的。如果是靜態成員變量,那么在類加載以后,就會在方法區內為其分配內存。Java面試必考問題:Java基本數據類型

    基本數據類型的內存分配

    關于JVM內存如何劃分,可以參考前文《Java面試必考問題:JVM內存區域如何劃分? 》。

    基本數據類型的傳遞

    基本數據類型可以作為傳遞方法的參數,這里要注意和引用數據類型作為方法參數之間的區別。

    當方法參數類型是基本數據類型時,方法是不能修改基本數據類型的數值;當傳遞方法參數類型是引用類型時,比如對象或數組,方法是可以修改引用所指向的對象的狀態的。

    關于Java基本數據類型的話題基本聊得差不多了,掌握這些基礎知識,對于我們參加面試還是非常有幫助的。

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费