【Java核心面試寶典】Day4、基本數據結構常見面試題匯總
Hello,你好呀,我是灰小猿!一個超會寫bug的程序猿!
用堅持締造技術、用指尖敲動未來!
和很多小伙伴們一樣,我也是一名奔波在Java道路上的“創造者”。也想靠技術來改變未來,改變世界!因為我們堅信每一次敲動鍵盤都能讓生活變得更智能、世界變得更有趣!
在此專欄《Java核心面試寶典》記錄我們備戰夢想的【day 4】!
今天來和大家分享在Java中有關基本數據結構相關的面試題,這一類問題因為比較基礎,其實有時候就很容易被我們忽視掉,但是這也不妨礙面試官對我們的考察呀!
一、Java的數據類型有哪些?
很多人都會在這個看似簡單的問題中入坑,一說到數據類型,很多人第一時間想到的就是int、char等類型,但是我們仔細看題就會發現,題中所問的問題是數據類型,而不是基本數據類型。
數據類型有兩種,分別是“基本數據類型”和“引用數據類型”
基本數據類型包括的內容如下表:
而引用數據類型包括的是三種:類、接口、數組
那么在Java中為什么會有“基本數據類型”和“引用數據類型”?
原因是因為 引用類型在堆里,基本類型在棧里,棧空間小且連續,往往會被放在緩存。引用類型的高速緩存率高且要多一次解引用。
而且對象還要再多儲存一個對象頭,對基本數據類型來說空間浪費率太高。
二、什么是數據類型直接量?
直接量是在程序中直接出現的常量值。
將整數類型的直接量賦值給整數類型的變量時,只要直接量沒有超出變量的取值范圍,即可直接賦值,如果直接量超出了變量的取值范圍,則會導致編譯錯誤。
整數類型的直接量默認是 int 類型,如果直接量超出了 int 類型的取值范圍,則必須在其后面加上字母 L 或 l,將直接量顯性聲明為 long 類型,否則會導致編譯錯誤。
浮點類型的直接量默認是 double 類型,如果要將直接量表示成 float 類型,則必須在其后面加上字母 F 或 f。將 double 類型的直接量賦值給 float 類型的變量是不允許的,會導致編譯錯誤。
三、基本數據類型之間是如何轉換的?
因為我們在開發有時需要把不同類型的值混合運算,因此需要對數據類型進行轉換。
對于數字類型轉換.
不同的數字類型對應不同的范圍,按照范圍從小到大的順序依次是:byte、short、int、long、float、double。
將小范圍類型的變量轉換為大范圍類型稱為拓寬類型,不需要顯性聲明類型轉換。
將大范圍類型的變量轉換為小范圍類型稱為縮窄類型,必須顯性聲明類型轉換,否則會導致編譯錯誤。
而對于字符類型與數字類型之間的轉換。
將數字類型轉換成字符類型時,只使用整數的低 16 位(浮點數類型將整數部分轉換成字符類型)。
將字符類型轉換成數字類型時,字符的統一碼轉換成指定的數值類型。如果字符的統一碼超出了轉換成的數值類型的取值范圍,則必須顯性聲明類型轉換。
同時注意:布爾類型不能轉換成其他基本數據類型,其他基本數據類型也不能轉換成布爾類型。
關于基本數據類型之間的轉換我之前寫過一篇總結,小伙伴們可以看這里:
Java數值型和字符串互轉錦集【備用】
每日總結
今天關于基本數據結構相關的面試中,我們需要知道數據類型是分為“引用數據類型”和“基本數據類型”的,要記住這兩種類型的內容和分類原則。知道是不同類型之間是如何轉換的。
關于基本數據結構的內容就總結這些,如果小伙伴們有遇到其他相關的面試題,歡迎在評論區留言提出,我會把大家提出的總結到文章內,歡迎小伙伴們一起評論區打卡學習!小伙伴們可也在左方加我好友一起探討學習
我是灰小猿,我們下期見!
Java 數據結構
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。