1. 程式人生 > 其它 >java基礎知識(一)

java基礎知識(一)

1.1 為什麼Java程式碼可以實現一次編寫、到處執行?

  • 跨平臺的是Java程式,JVM是跨平臺的關鍵
  • 在程式執行前,Java程式需要經過編譯器編譯為位元組碼檔案,在程式執行時,JVM會將位元組碼檔案翻譯為機器語言並執行
  • java程式只需經過一次編譯,然後在不同平臺下安裝對應版本的JVM,就能將位元組碼檔案翻譯成特定平臺下的機器語言並執行

1.2 一個Java檔案裡可以有多個類嗎(不含內部類)?

  • 一個Java檔案中可以包含多個類,但最多隻能有一個類被public修飾
  • 如果這個類中包含被public修飾的類,則這個類必須與Java檔案同名

1.3 說一說你對Java訪問許可權的瞭解

java語言中有四種訪問修飾符,public protected default private 。不加修飾符時預設是default

  • public可以被任何包下的任何類訪問
  • protected可以被同一包及其他包下的子類訪問
  • default可以被同一包下的類訪問
  • private只能被本類訪問

1.4 介紹一下Java的資料型別

Java資料型別分為基本資料型別和引用型別兩種

基本資料型別分為四大類八小類,分別是整數型別(byte/short/int/long)、浮點型別(float/double)、字元型別(char)、布林型別(boolean)

  • byte 1位元組 8位
  • short 2位元組 16位
  • int  4位元組 32位
  • long 8位元組 64位
  • float 4位元組 32位
  • double 8位元組 64位
  • char 2位元組 16位
  • boolean

引用型別就是對一個物件的引用

1.5 int型別的資料範圍是多少?

int型別佔4位元組32位,-2^31~2^31-1

1.6 請介紹全域性變數和區域性變數的區別

java中的變數分為成員變數和區域性變數

成員變數:

  1. 成員變數是在類範圍內定義的變數
  2. 成員變數有預設初始值
  3. 被static修飾的成員變數也叫靜態成員變數,它儲存於方法區中,生命週期與當前類相同
  4. 未被static修飾的成員變數叫例項成員變數,它儲存在物件所在的堆記憶體中,生命週期與物件相同

區域性變數:

  1. 區域性變數是在方法內定義的變數

  2. 區域性變數沒有初始值
  3. 區域性變數儲存與棧記憶體,作用的範圍結束,變數空間會自動釋放

1.7 請介紹一下例項變數的預設值

例項變數若為引用資料型別,其預設值一律為null。若為基本資料型別,其預設值如下:

  • byte:0

  • short:0

  • int:0

  • long:0L

  • float:0.0F

  • double:0.0

  • char:'\u0000'

  • boolean:false

1.8 為啥要有包裝類?

Java語言是面向物件的語言,其設計理念是一切皆物件,但8種基本資料型別卻不具備物件的特徵,所以為8種基本資料型別都定義了引用型別,即包裝類

1.9 說一說自動裝箱、自動拆箱的應用場景

  • 自動裝箱:基本資料型別自動轉換為對應包裝型別
  • 自動拆箱:包裝型別自動轉換為對應基本資料型別

1.10 如何對Integer和Double型別判斷相等?

  • 不能直接用==比較,因為他們不是同一資料型別
  • 不能轉為字串比較,浮點數帶小數
  • 以將Integer、Double先轉為轉換為相同的基本資料型別(如double),然後使用==進行比較。