java基礎面試題01

一、Java的三種技術架構

JAVAEE:Java Platform Enterprise Edition ,開發企業環境下的應用程序,主要針對web程序開發。

JAVASE:Java Platform Standard Edition,完成桌面應用程序的開發,是其他兩者的基礎。

JAVAME:Java Platform Micro Edition  ,開發電子消費產品和嵌入式設備。


二、JDK和JRE的區別

JDK:Java Development Kit , Java的開發和運行環境,java的開發工具和jre。

JRE:Java:Java Runtime Environment ,java程序的運行環境,java運行的所需的類庫+JVM(虛擬機)。


三、javac命令和java命令能做什麼事

javac:負責的是編譯,當執行javac時,會啓動java的編譯器程序,對指定擴展名的java文件進行編譯,生成了jvm可以識別的字節碼文件,也就是class文件,也就是java的運行程序。

java:負責運行,會啓動jvm,加載運行時所需的類庫,並對class文件進行執行。


四、java數據類型(2種)

基本型:byte  short  char  int  float  long  double  boolean  

引用型:類 class,接口interface,數組array。

五、&和&&的區別

&是位運算符,表示按位與運算,&&是邏輯運算符,表示邏輯與(and)。


六、| 和 || 的區別

| 是數值運算,|的左右是二進制數然後根據二進制數進行運算

|| 是邏輯判斷,左右是布爾表達式,然後進行邏輯和運算


七、棧和堆

棧:用於存儲局部變量。

堆:存儲數組和對象,就是實體


八、面向對象

特點:1、將複雜的事情簡單化。

      2、面向對象將以前的過程中的執行者,變成了指揮者。

      3、面向對象這種思想是符合現在人們思考習慣的一種思想。

特徵:

      1、繼承子類繼承於父類,具有父類所有的屬性和方法,可以重用,也可以覆蓋。

      2、封裝。一個類可以有多個屬性和方法

       3、多態。指允許不同子類型的對象對同一消息做出不同的響應,同一函數多種形態。分爲編譯時的多態性和運行時的多態性。


九、成員變量和局部變量的區別

成員變量:作爲類的成員而存在,直接存在於類中,所有類的成員變量可以通過this來引用。

局部變量:作爲方法或語句塊的成員而存在,存在於方法的參數列和方法定義中。

成員變量可以被public,protect,private,static等修飾符修飾,而局部變量不能被控制符修飾符及static修飾,兩者都可以定義成final型。

成員變量儲存在堆,局部變量存儲在棧。局部變量的作用域僅限於定義他的方法,在該方法的外部無法訪問他成員變量的作用域在整個類內部都是可見的,所有的成員方法都可以使用它。

成員變量有默認值,基本類型默認值0,符合類型的默認值null。局部變量不會自動賦值,所以要在定義後先賦初值,在使用。


十、構造函數和一般函數有什麼區別

1、兩個函數定義格式不同。

2、構造函數是在對象創建時,就被調用,用於初始化,而且初始化動作只執行一次

   一般函數是對象創建後,需要調用才執行,可以被調用多次。


十一、構造代碼塊和構造函數有什麼區別

1、構造代碼塊:是給所有的對象進行初始化,也就是所有的對象都會調用一個代碼塊,只有對象一建立,就會調用這個代碼塊。

2、構造函數:是給與之對應的對象進行初始化。它具有針對性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章