Java必备:java入门、java学习
2019獨角獸企業重金招聘Python工程師標準>>>
版權聲明:本文為北京尚學堂原創文章,未經允許不得轉載。
1.Java入門
1-1.Java具有那些適合在Internet環境中的特點?
【答】簡單性和完全面向對象,平臺無關性,安全性和可靠性,多線程,高效的網絡編程。
1-2.Java保留、放棄了C/C++語言中哪些語法和面向對象機制?為什么需要這樣做?
【答】 在語法規則方面,Java語言放棄了全程變量、goto語句、宏定義、全局函數以及結構、聯合和指針數據類型,使Java語言更簡單、更精練。
在面向對象概念方面,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設備的互等現象,提高系統效率。 一般一下場合需要使用多線程:1、程序包好復雜的計算任務時,主要是利用多線程獲取更所得CPU時間。2、處理速度較慢的外圍設備。3、程序設計自身的需要。
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)
本文作者北京尚學堂原創。如需轉載請聯系作者授權,未經授權,轉載必究。
轉載于:https://my.oschina.net/u/2947706/blog/792860
總結
以上是生活随笔為你收集整理的Java必备:java入门、java学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 仿写thinkphp的I方法
- 下一篇: java 多线程Callable和Run