Java必備:java入門、java學習

版權聲明:本文爲北京尚學堂原創文章,未經容許不得轉載。html

1.Java入門java

1-1.Java具備那些適合在Internet環境中的特色?web

【答】簡單性和徹底面向對象,平臺無關性,安全性和可靠性,多線程,高效的網絡編程。數據庫

1-2.Java保留、放棄了C/C++語言中哪些語法和麪向對象機制?爲何須要這樣作?編程

【答】 在語法規則方面,Java語言放棄了全程變量、goto語句、宏定義、全局函數以及結構、聯合和指針數據類型,使Java語言更簡單、更精練。windows

在面向對象概念方面,Java語言放棄了多元繼承、友元類和運算符重載,採用「單重繼承+接口」的方式代替多重繼承,提供語言級的內存自動管理和異常處理方式,使Java語言更健壯、更安全、更高效。數組

1-3.Java對原程序文件的命名規則有什麼要求?源程序文件編譯後生成什麼文件?瀏覽器

【答】 要求:源程序文件與類同名,文件擴展名爲.java;編譯後生成字節碼文件(*.class)。安全

1-4.Java程序的運行機制是怎樣的?與C++或其餘語言有什麼不一樣?服務器

【答】Java的每個類都有一個class文件和它對應,Java在程序的啓動的時候將程序運行須要用到的類加載到虛擬機中,根據Java的虛擬機規範進行鏈接(動態鏈接),程序的組裝是在運行的時候完成的

C++和其餘的編譯型的語言同樣,它的程序的組裝方式是一種傳統的組裝方式。C++在編譯的時候生成適用於某一平臺的二進制代碼,在鏈接的時候找到須要調用的庫,而後將這些庫中的代碼鏈接進可執行程序之中,生成的可執行程序運行速度很是的快,可是可執行代碼已經變成了一個總體,不可能再分開

1-5.什麼是平臺無關性?Java是怎樣實現平臺無關性的?

【答】平臺無關性即Java程序的運行不依賴於操做系統。Java採用虛擬機技術實現平臺無關性。程序由虛擬機解釋執行,不一樣的操做系統上運行不一樣版本的Java虛擬機。

1-6.Java應用程序由哪兩種形式?他們的運行方式有什麼不一樣?

【答】Application和applet兩種形式,其中application是可以獨立運行的應用程序,既能夠以DOS的命令方式運行,也能夠以圖形用戶界面方式運行。Applet是能夠嵌入頁面的最小應用程序,不能獨立運行,必須嵌入超文本中,由瀏覽器 顯示運行。

1-7.什麼是解釋執行?Java怎樣解釋執行兩種應用程序?

【答】解釋執行即將字節碼解釋成本地機器碼並執行。

Java源程序文件經編譯後生成字節碼文件,如果application應用程序,則將字節碼文件交由Java解釋器解釋執行,最後在windows操做系統上運行。如果applet應用程序,則將字節碼文件嵌入超文本文件並下載到web瀏覽器上,最後由windows操做系統中的Java虛擬機運行。

2.Java語法

2-1.標示符和關鍵字在定義和使用方面有何區別?

【答】定義方面:標示符是用戶定義的、以字母開頭的字母數字序列,關鍵字是由Java語

言定義的、具備特定含義的英文單詞。

使用方面:標示符用於命名變量、常量、類、對象等元素,每個關鍵字都有特定的含義,不能被賦予別的含義。

2-2.Java語言的基本數據類型有哪些?引用數據類型有哪些?

【答】基本數據類型有:整數類型byte、short、int、long,浮點數類型float、double,字符

類型char,布爾類型boolean;引用數據類型包括數組(array)、類(class)和接口(interface)

2-3.什麼是變量的做用域,聲明變量時,如何肯定變量的做用域?

【答】 變量的做用域是指其做用範圍。變量聲明的位置決定了它的做用域

2-4.設i是一個整數類型變量,寫出下列問題對應的表達式?

(1) 判斷i爲奇數或偶數;

【答】i%2==0 //取值爲true時是偶數,不然是奇數

(2) 判斷i的值是否在0~9之間;

【答】(i>0)&&(i<9)

3.Java概念

3-1.什麼是類?什麼是對象?他們之間的關係是怎樣的?

【答】在面向對象的概念中,類是既包括數據又包括做用於數據的一組操做的封裝體。類中的數據稱爲成員變量,類中的數據操做稱爲成員方法。類中的成員變量和成員方法統稱爲類的成員。

對象是類的實例。對象與類的關係就像變量與數據類型的關係同樣。是抽象與具體,模板與實例的關係,類是抽象的、是模板,對象是具體的、是實例。

3-2.做爲引用數據類型,對象在賦值和方法的參數傳遞方面與基本數據類型的變量有什麼不一樣?

【答】做爲引用數據類型,兩個對象之間的賦值是引用賦值,對象可被賦值爲null。具體可參見課本第三章圖3.1的(d)。方法聲明中形式參數的數據類型,既能夠是基本數據類型,也能夠是引用數據類型。若是形式參數的數據類型是基本數據類型,則實際參數向形式參數傳遞的是值;若是形參的數據類型是引用數據類型,則實參向形參傳遞的是引用。

一樣,方法返回值的數據類型,既能夠是基本數據類型,也能夠是引用數據類型,二者分別傳遞值和引用。

3-4.什麼是封裝?爲何要將類封裝起來?封裝的原則是什麼?

【答】封裝性是面向對象的核心特徵之一,它提供一種信息隱藏技術。

類的封裝包含兩層含義:一是將數據和對數據的操做組合起來構成類,類是一個不可分割的獨立單位;二是類中既要提供與外部聯繫的方法,同時又要儘量隱藏類的實現細節。軟件擴充和維護的須要需對類進行封裝。封裝原則:隱藏內部實現細節。

3-5.類中的方法與C++中的函數有什麼差異?

【答】Java類中的成員方法與C語言中的函數很像,但在聲明、調用等方面存在很大差異。

3-6.類的構造方法和析構方法有什麼做用?它們分別被誰調用?它們的訪問權限範圍應該是怎樣的?是否每一個類都必須設計構造方法和析構方法?沒有設計構造方法和析構方法的類執行什麼構造方法和析構方法?

【答】類的構造方法和析構方法是類特殊的成員方法,構造方法用於在建立實例時進行初始化;析構方法用於在釋放實例時執行特定操做。構造方法由new運算符調用;析構方法可由對象調用,或被虛擬機自動執行。它們的訪問權限範圍一般都是public。

構造方法不能繼承,析構方法可以繼承。一個類能夠不聲明構造方法和析構方法。當一

Java爲它提供一個無參數的默認構造方法,個類沒有聲明構造方法時,約定自動調用父類的

默認構造方法(無參數);當一個類沒有聲明析構方法時,它執行繼承來的父類的析構方法。

3-7.什麼是繼承?繼承機制的做用是什麼?子類繼承了父類中的什麼?子類不須要父類中的成員時怎麼辦?可以刪除它們嗎?Java容許一個類有多個父類嗎?

【答】繼承性是面向對象的核心特徵之一,是一種由已有的類建立新類的機制。被繼承的類稱爲父類或超類,經過繼承產生的新類稱爲子類或派生類。繼承機制是面向對象程序設計中實現軟件可重用性的最重要手段。

經過繼承,子類自動擁有父類的全部成員,包括成員變量和成員方法(不包括構造方法)。子類能夠更改父類成員,還能夠增長本身的成員,可是,不能刪除父類的成員。

在Java中以「單重繼承+接口」的方式代替多重繼承,不容許一個類有多個父類。

4.Java重難點

4-1.什麼是接口?接口和抽象類有哪些相同之處和不一樣之處?

【答】接口是一組常量和抽象方法的集合。在Java中,接口是一種引用數據類型,用關鍵字implements聲明。接口與抽象類的區別爲:

相同點:1.二者都包含抽象方法,約定多個類共用方法的參數列表和返回值。2.二者都不能被實例化。3.二者都是引用數據類型,其變量可被賦值爲子類或實現接口類的對象。

不一樣點:1.抽象類約定多個子類之間共同使用的方法;接口約定多個互不相關類之間共同使用的方法。2.抽象類與子類之間採用單重繼承機制;一個類實現多個接口則實現了多重

3.抽象類及其類中成員具備與普通類同樣的訪問權限;繼承的功能。接口的訪問權限由public

和缺省兩種,接口中成員的訪問權限均是public。4.抽象類中能夠包含非抽象方法,也能夠聲明構造方法;接口中的方法必須所有是抽象方法,不能聲明構造方法。5.抽象類中能夠聲明成員變量,子類能夠對該成員變量賦值;接口中只能聲明常量。

4-2.爲何可以聲明接口變量?接口變量可以得到什麼樣的值?

【答】接口是引用數據類型能夠聲明接口變量。接口變量可以得到實現接口的類的對象,也稱爲接口對象。

4-3.接口有哪些特色?爲何須要聲明藉口?接口是否具備繼承性?接口中可否寫構造方法?

【答】接口特色:

(1)接口及接口中成員的訪問權限都是public

(2)接口中的成員方法都是公有的、抽象的實例成員方法,即默認修飾符爲public abstract。

(3)接口中的全部抽象方法必須所有被實現接口的類覆蓋。

(4)接口中的成員變量都是常量

(5)接口不能被實例化。接口中的方法都是抽象的,構造方法不是抽象的全部不能寫構造方法

(6)接口是引用數據類型。

Java只支持單重繼承,以「單重繼承+接口」的方式代替多繼承。接口能夠繼承一個已經存在的父接口。

4-4. 類與類之間存在哪幾種關係?

【答】類與類之間有繼承關係,還存在嵌套關係。

5.Java核心知識

5-1.程序中的錯誤有哪幾種?分別可以在什麼時刻被發現?

【答】 程序錯誤按照性質可分爲3類:語法錯、語義錯、邏輯錯。

1 語法錯:違反語法規範的錯誤成爲語法錯( syntax error ),這類錯誤一般在編譯時發現,又稱爲編譯錯,如標識符未聲明、表達式中運算符與操做數類型不兼容、變量賦值時的類型與聲明時的類型不匹配、括號不匹配、語句末缺乏分號等。

2 語義錯:若是在程序的語法上正確,但在語義上存在錯誤,則稱爲語義錯( semantic error),又稱爲運行錯(run-time error),語義錯不能被編譯系統發現,只有到程序運行時才能被發現,如輸入數據格式錯、除數爲0錯、給變量賦予超出其範圍的值錯等。

3 邏輯錯:若是程序經過編譯,可運行,但運行結果與指望值不符,則這類錯誤稱爲邏輯錯(logic error),例如,因爲循環條件不正確而沒有結果,循環次數不對等因素致使計算結果不正確等。

5-2.Java爲何要採用異常處理機制?Java的異常處理是怎樣實現的?異常處理機制可以

解決程序中遇到的全部錯誤嗎?哪些錯誤不是異常處理可以解決的?

【答】 異常處理和捕獲和處理運行時錯誤的一種機制。異常處理機制使程序具備處理錯誤的能力。即便發生了運行錯,應用程序可以捕獲異常並及時處理異常,使程序從運行錯誤中很好地恢復並繼續運行,而不會致使程序運行非正常終止。並且若是當前方法沒有能力處理異常,還能夠將異常轉交給調用者處理。異常處理機制將運行時錯誤封裝成若干錯誤類和異常類,並提供異常處理語句用於處理在程序中實現對運行時錯誤的發現和及時處理。異常處理機制並不能解決程序中的全部錯誤,例如內存溢出、棧溢出等。

5-3.請說出5個Java的異常類。

【答】 算術異常ArithmeticException、空對象異常NullPointerException、類型強制轉換異常ClassCastException、負數組長度異常NegativeArraySizeException、數組下標越界異常 ArrayIndexOutOfBundsException等

6.Java功能

6-2 設計Windows應用程序的圖形用戶界面須要哪些基本知識?

【答】須要掌握Java組件的使用方法,理解委託事件處理模型,掌握多種佈局方式。 6-3 什麼是容器組件?它有什麼特色?Java提供了哪些容器組件?

【答】容器組件是一種可以容納其餘組件的特殊組件。特色:能容納其餘組件,並在其可視區域內顯示這些組件。兩種容器。

6-4 窗口與對話框有什麼不一樣?框架與面板有什麼不一樣?

【答】對話框是窗口類的子類,對話框也是一種可移動的窗口,不能做爲應用程序的主窗口,它依賴於一個框架窗口而存在,當框架窗口關閉時,對話框也關閉。框架類是一種帶標題欄而且能夠改變大小的窗口;它是窗口類的子類,因此它能夠獨立存在,可被移動,可被最大化和最小化,有標題欄、邊框、可添加菜單欄;而面板不能獨立存在,必須包含在另外一個容器裏,面板沒有標題,沒有邊框,不可添加菜單欄。

6-6 如何理解Windows應用程序的圖形用戶界面是事件驅動的?

【答】一個組件的多個事件之間,多個組件的多個事件之間,其事件處理方法的執行次序是有規律的:1.不一樣組件的事件或同一組件的不一樣事件具備約定的執行次序。2.各組件的事件處理方法是否執行以及執行次序,取決於用戶操做。3.在一個事件處理方法中,程序按照語句的書寫次序順序執行。

7.Java線程和進程

7-1 什麼是進程?什麼是線程?進程與線程的關係是怎樣的?

【答】進程:進程是一個可併發的具備獨立功能的程序關於某個數據集合的一次執行過程,也是操做系統進行資源分配和保護的基本單位。

線程:線程是操做系統進程中可以獨立執行的實體,是處理器調度和分派的基本單位。 線程是進程的組成部分,每一個進程內容許包含多個併發執行的線程。

7-2 Java爲何要支持線程?什麼場合須要使用多線程程序設計?

【答】支持多線程能充分發揮硬件的併發性,消除處理器和I/O設備的互等現象,提升系統效率。 通常一下場合須要使用多線程:一、程序包好複雜的計算任務時,主要是利用多線程獲取更所得CPU時間。二、處理速度較慢的外圍設備。三、程序設計自身的須要。

7-3 Java提供了哪些接口和類實現多線程機制?

【答】Java主要提供了java.lang.Runnable接口和Thread線程類來實現多線程機制。

7-4 線程按什麼規則排隊等待?

【答】線程按優先級排隊,線程調度語句優先級基礎上的「先到先服務」原則

8.Java流

8-1 什麼是流?流有什麼用?面嚮對象語言爲何須要流?哪些場合須要流? 答:流是指一組有順序、有起點和終點的字節集合,是對數據傳輸的總稱或抽象(也就是數據在兩個對象之間的傳輸稱爲流)。

流的做用就是使數據傳輸操做獨立於相關設備。

在面向對象的程序設計中,數據的傳輸和流動具備普遍性,能夠在內存與外部設備之間傳輸,還能夠從內存到內存,甚至能夠從一臺計算機經過網絡流向另外一臺計算機等,故面嚮對象語言採用流機制。

在標準輸入/輸出、在文件的讀/寫等操做中都須要流。

9.Java通信

9-1 什麼是Socket通訊?它有什麼特色?參與Socket通訊的主體是誰?

答:Socket通訊時基於TCP鏈接的兩個過程之間的端-端通訊,TCP鏈接提供數據通訊所需的字節流服務。特色是Socket通訊是雙向的、可靠的。

9-2 什麼是數據庫?什麼是數據庫管理系統?什麼是數據庫系統?

【答】數據庫是長期存儲在計算機外存上的有結構的、可共享的數據集合。數據庫管理系統是指數據庫系統中對數據進行管理的軟件系統,它是位於用戶與操做系統之間的一層數據管理軟件。數據庫系統是採用數據庫技術的計算機系統,包括數據庫、數據庫管理系統、應用程序、數據庫管理員和用戶。

9-3 什麼是主鍵?主鍵表達關係的什麼性質?爲何每張表都必須設計主鍵?使用主鍵時必須遵循什麼完整性規則?怎樣爲一個表聲明主鍵?

【答】主鍵是可以惟一標識實體的屬性集。主鍵表達關係中實體的惟一性。每張表的主鍵用於區別表中的實體。使用主鍵時要遵循實體完整性規則。聲明主鍵的語句以下:

sno char(9) primary key 該句代表列sno爲表的主鍵。

9-4 什麼是外鍵?外鍵表達關係的什麼性質?在什麼狀況下須要設計外鍵?使用外鍵時須要遵循什麼完整性規則?

【答】若是模式R中屬性K是其餘模式的主鍵,那麼K在模式R中稱爲外關鍵字,簡稱外鍵。當兩個表之間有聯繫時,應該設置外鍵。使用外鍵時應遵循參照完整性規則。

9-5 客戶----服務器結構的關係數據庫系統有什麼特色?由哪幾部分組成?各部分的功能是怎樣的?劃分各部分的基本原則是什麼?

【答】客戶—服務器結構的關係數據庫系統的特色是數據集中,功能分佈;由服務器和客戶端組成;服務器完成DBMS的核心功能,客戶端完成數據處理、數據表示、用戶接口等功能;劃分各部分的基本原則是將計算機應用任務分解成多個子任務,由多臺計算機分工完成,即「功能分佈」原則。

在java入門階段你還有哪些迷惑呢?

對於學習有困難不知道如何提高本身能夠加微信:858568103進行交流獲得幫助,獲取Java學習資料。​​

更多猛料!歡迎掃描上方二維碼關注北京尚學堂官方微信公衆號(資料領取驗證消息:156)

本文做者北京尚學堂原創。如需轉載請聯繫做者受權,未經受權,轉載必究。

相關文章
相關標籤/搜索