對于Java開發(fā)學習者來說,基礎(chǔ)掌握的知識點有以下幾種:
1. Java面向?qū)ο蟮膬?yōu)點:易維護、易復用、易擴展,由于面向?qū)ο笥蟹庋b、繼承、多態(tài)性的特性,可以設(shè)計出低耦合的系統(tǒng),使系統(tǒng)更加靈活、更加易于維護。
2. Java虛擬機的概念,任何一種可以運行Java字節(jié)碼的軟件均可看成是Java的虛擬機(JVM)
3. JDK顧名思義它是給開發(fā)者提供的開發(fā)工具箱,是給程序開發(fā)者用的。它除了包括完整的JRE(Java Runtime Environment),Java運行環(huán)境,還包含了其他供開發(fā)者使用的工具包。
4. JRE的概念,普通用戶而只需要安裝JRE(Java Runtime Environment)來運行Java程序。而程序開發(fā)者必須安裝JDK來編譯、調(diào)試程序。
5. Java中覆蓋(Override)是指子類對父類方法的一種重寫,子類只能拋出比父類更少的異常,且訪問權(quán)限不能比父類的小。被覆蓋的方法不能是 private 的,否則只是在子類中重新定義了一個方法。
Java中重載(Overload)表示同一個類中可以有多個名稱相同的方法,但這些方法的參數(shù)列表各不相同。
建議你看本書《Think in java》。上邊的講解很容易懂。
學java:
先把基本語法搞懂,你學過C++,java的語法和C++很像。你只要著重把他們不同的地方學清楚就行。
然后搞懂類。java純面向?qū)ο蟮?。所有的代碼都在類中。所以你要把java中重要的類學一遍。比如流類,集合類,數(shù)據(jù)庫操作類,網(wǎng)絡(luò)編程的類等。當然,在這之前你要把java面向?qū)ο蟮乃枷肱虲++有什么區(qū)別。這樣你學習類的時候就容易多了。
最后多實踐點,學了類之后,就用你學的類寫點小程序,加深理解。
API說白了就是別人寫好的類。像上邊說的流類,集合類等都是API。API都有相應(yīng)的文檔供我們學習。你學java基礎(chǔ),一般在下載JDK時會同時下載下相應(yīng)的文檔。沒有的話你可以到官方網(wǎng)站上去下載。
1、對象的初始化(1) 非靜態(tài)對象的初始化 在創(chuàng)建對象時,對象所在類的所有數(shù)據(jù)成員會首先進行初始化。
基本類型:int型,初始化為0。 如果為對象:這些對象會按順序初始化。
※在所有類成員初始化完成之后,才調(diào)用本類的構(gòu)造方法創(chuàng)建對象。 構(gòu)造方法的作用就是初始化。
(2) 靜態(tài)對象的初始化 程序中主類的靜態(tài)變量會在main方法執(zhí)行前初始化。 不僅第一次創(chuàng)建對象時,類中的所有靜態(tài)變量都初始化,并且第一次訪問某類(注意此時 未創(chuàng)建此類對象)的靜態(tài)對象時,所有的靜態(tài)變量也要按它們在類中的順序初始化。
2、繼承時,對象的初始化過程 (1) 主類的超類由高到低按順序初始化靜態(tài)成員,無論靜態(tài)成員是否為private。 (2) 主類靜態(tài)成員的初始化。
(3) 主類的超類由高到低進行默認構(gòu)造方法的調(diào)用。注意,在調(diào)用每一個超類的默認構(gòu)造 方法前,先進行對此超類進行非靜態(tài)對象的初始化。
(4) 主類非靜態(tài)成員的初始化。 (5) 調(diào)用主類的構(gòu)造方法。
3、關(guān)于構(gòu)造方法 (1) 類可以沒有構(gòu)造方法,但如果有多個構(gòu)造方法,就應(yīng)該要有默認的構(gòu)造方法,否則在繼承此類時,需要在子類中顯式調(diào)用父類的某一個非默認的構(gòu)造方法了。 (2) 在一個構(gòu)造方法中,只能調(diào)用一次其他的構(gòu)造方法,并且調(diào)用構(gòu)造方法的語句必須是 第一條語句。
4、有關(guān)public、private和protected (1) 無public修飾的類,可以被其他類訪問的條件是:a.兩個類在同一文件中,b.兩個類 在同一文件夾中,c.兩個類在同一軟件包中。 (2) protected:繼承類和同一軟件包的類可訪問。
(3) 如果構(gòu)造方法為private,那么在其他類中不能創(chuàng)建該類的對象。 5、抽象類 (1) 抽象類不能創(chuàng)建對象。
(2) 如果一個類中一個方法為抽象方法,則這個類必須為abstract抽象類。 (3) 繼承抽象類的類在類中必須實現(xiàn)抽象類中的抽象方法。
(4) 抽象類中可以有抽象方法,也可有非抽象方法。抽象方法不能為private。
(5) 間接繼承抽象類的類可以不給出抽象方法的定義。 6、final關(guān)鍵字 (1) 一個對象是常量,不代表不能轉(zhuǎn)變對象的成員,仍可以其成員進行操作。
(2) 常量在使用前必須賦值,但除了在聲明的同時初始化外,就只能在構(gòu)造方法中初始化 。 (3) final修飾的方法不能被重置(在子類中不能出現(xiàn)同名方法)。
(4) 如果聲明一個類為final,則所有的方法均為final,無論其是否被final修飾,但數(shù)據(jù) 成員可為final也可不是。 7、接口interface (用implements來實現(xiàn)接口) (1) 接口中的所有數(shù)據(jù)均為 static和final即靜態(tài)常量。
盡管可以不用這兩個關(guān)鍵字修飾 ,但必須給常量賦初值。 (2) 接口中的方法均為public,在實現(xiàn)接口類中,實現(xiàn)方法必須可public關(guān)鍵字。
(3) 如果使用public來修飾接口,則接口必須與文件名相同。 8、多重繼承 (1) 一個類繼承了一個類和接口,那么必須將類寫在前面,接口寫在后面,接口之間用逗 號分隔。
(2) 接口之間可多重繼承,注意使用關(guān)鍵字extends。 (3) 一個類雖只實現(xiàn)了一個接口,但不僅要實現(xiàn)這個接口的所有方法,還要實現(xiàn)這個接口 繼承的接口的方法,接口中的所有方法均須在類中實現(xiàn)。
9、接口的嵌入 (1) 接口嵌入類中,可以使用private修飾。此時,接口只能在所在的類中實現(xiàn),其他類不 能訪問。
(2) 嵌入接口中的接口一定要為public。 10、類的嵌入 (1) 類可以嵌入另一個類中,但不能嵌入接口中。
(2) 在靜態(tài)方法或其他方法中,不能直接創(chuàng)建內(nèi)部類對象,需通過手段來取得。 手段有兩種: class A { class B {} B getB() { B b = new B(); return b; } } static void m() { A a = new A(); A.B ab = a.getB(); // 或者是 A.B ab = a.new B(); } (3) 一個類繼承了另一個類的內(nèi)部類,因為超類是內(nèi)部類,而內(nèi)部類的構(gòu)造方法不能自動 被調(diào)用,這樣就需要在子類的構(gòu)造方法中明確的調(diào)用超類的構(gòu)造方法。
接上例: class C extends A.B { C() { new A().super(); // 這一句就實現(xiàn)了對內(nèi)部類構(gòu)造方法的調(diào)用。 } } 構(gòu)造方法也可這樣寫: C(A a) { a.super(); } // 使用這個構(gòu)造方法創(chuàng)建對象,要寫成C c = new C(a); a是A的對象。
11、異常類 JAVA中除了RunTimeException 類,其他異常均須捕獲或拋出。至于數(shù)據(jù)庫,WEB,JSP,JS之類的那是高級部分了。
如果你真想學java根本就不用想那么多,大多數(shù)人想干編程都是感覺有點懼怕和恐懼,認為干編程英語和數(shù)學邏輯運算都需要非常好,其實根本不是那樣的,英語不需要會,java里的英文單詞雖然不少但也不多,學到哪里背到哪里,最重要的是經(jīng)常敲代碼,多敲代碼自然就會記住了,如果編寫的程序出現(xiàn)問題不要害怕和感覺鬧心,其實每個人都要經(jīng)歷這些的,初學者出現(xiàn)的錯誤越多對你來說以后編程序就更順利。
當然了 英語和數(shù)學會只不過會讓你學習java會事半功倍! 如果樓主真心想學java 那么就要有毅力不要輕易放棄 要多動手動腦!
第2章 一切都是對象2.1 用句柄操縱對象2.2 必須創(chuàng)建所有對象2.2.1 保存在什么地方2.2.2 特殊情況:主類型2.2.3 Java中的數(shù)組2.3 絕對不要清除對象2.3.1 作用域2.3.2 對象的作用域2.4 新建數(shù)據(jù)類型:類2.4.1 字段和方法2.5 方法、自變量和返回值2.5.1 自變量列表2.6 構(gòu)建Java程序2.6.1 名字的可見性2.6.2 使用其他組件2.6.3 static關(guān)鍵字2.7 我們的第一個Java程序2.8 注釋和嵌入文檔2.8.1 注釋文檔2.8.2 具體語法2.8.3 嵌入HTML2.8.4 @see:引用其他類2.8.5 類文檔標記2.8.6 變量文檔標記2.8.7 方法文檔標記2.8.8 文檔示例2.9 編碼樣式2.10 總結(jié)2.11 練習 第3章 控制程序流程3.1 使用Java運算符3.1.1 優(yōu)先級3.1.2 賦值3.1.3 算術(shù)運算符3.1.4 自動遞增和遞減3.1.5 關(guān)系運算符3.1.6 邏輯運算符3.1.7 按位運算符3.1.8 移位運算符3.1.9 三元if-else運算符3.1.10 逗號運算符3.1.11 字串運算符+3.1.12 運算符常規(guī)操作規(guī)則3.1.13 造型運算符3.1.14 Java沒有“sizeof”3.1.15 復習計算順序3.1.16 運算符總結(jié)3.2 執(zhí)行控制3.2.1 真和假3.2.2 if-else3.2.3 反復3.2.4 do-while3.2.5 for3.2.6 中斷和繼續(xù)3.2.7 切換3.3 總結(jié)3.4 練習 第4章 初始化和清除4.1 由構(gòu)建器保證初始化4.2 方法過載4.2.1 區(qū)分過載方法4.2.2 主類型的過載4.2.3 返回值過載4.2.4 默認構(gòu)建器4.2.5 this關(guān)鍵字4.3 清除:收尾和垃圾收集4.3.1 finalize()用途何在4.3.2 必須執(zhí)行清除4.4 成員初始化4.4.1 規(guī)定初始化4.4.2 構(gòu)建器初始化4.5 數(shù)組初始化4.5.1 多維數(shù)組4.6 總結(jié)4.7 練習 第5章 隱藏實施過程5.1 包:庫單元5.1.1 創(chuàng)建獨一無二的包名5.1.2 自定義工具庫5.1.3 利用導入改變行為5.1.4 包的停用5.2 Java訪問指示符5.2.1 “友好的”5.2.2 public:接口訪問5.2.3 private:不能接觸5.2.4 protected:“友好的一種”5.3 接口與實現(xiàn)5.4 類訪問5.5 總結(jié)5.6 練習 第6章 類再生6.1 合成的語法6.2 繼承的語法6.2.1 初始化基礎(chǔ)類6.3 合成與繼承的結(jié)合6.3.1 確保正確的清除6.3.2 名字的隱藏6.4 到底選擇合成還是繼承6.5 protected6.6 遞增開發(fā)6.7 上溯造型6.7.1 何謂“上溯造型”?6.8 final關(guān)鍵字6.8.1 final數(shù)據(jù)6.8.2 final方法6.8.3 final類6.8.4 final的注意事項6.9 初始化和類裝載6.9.1 繼承初始化6.10 總結(jié)6.11 練習 第7章 多形性7.1 上溯造型7.1.1 為什么要上溯造型7.2 深入理解7.2.1 方法調(diào)用的綁定7.2.2 產(chǎn)生正確的行為7.2.3 擴展性7.3 覆蓋與過載7.4 抽象類和方法7.5 接口7.5.1 Java的“多重繼承”7.5.2 通過繼承擴展接口7.5.3 常數(shù)分組7.5.4 初始化接口中的字段7.6 內(nèi)部類7.6.1 內(nèi)部類和上溯造型7.6.2 方法和作用域中的內(nèi)部類7.6.3 鏈接到外部類7.6.4 static內(nèi)部類7.6.5 引用外部類對象7.6.6 從內(nèi)部類繼承7.6.7 內(nèi)部類可以覆蓋嗎?7.6.8 內(nèi)部類標識符7.6.9 為什么要用內(nèi)部類:控制框架7.7 構(gòu)建器和多形性7.7.1 構(gòu)建器的調(diào)用順序7.7.2 繼承和finalize()7.7.3 構(gòu)建器內(nèi)部的多形性方法的行為7.8 通過繼承進行設(shè)計7.8.1 純繼承與擴展7.8.2 下溯造型與運行期類型標識7.9 總結(jié)7.10 練習 第8章 對象的容納8.1 數(shù)組8.1.1 數(shù)組和第一類對象8.1.2 數(shù)組的返回8.2 集合8.2.1 缺點:類型未知8.3 枚舉器(反復器)8.4 集合的類型8.4.1 Vector8.4.2 BitSet8.4.3 Stack8.4.4 Hashtable8.4.5 再論枚舉器8.5 排序8.6 通用集合庫8.7 新集合8.7.1 使用Collections8.7.2 使用Lists8.7.3 使用Sets8.7.4 使用Maps8.7.5 決定實施方案8.7.6 未支持的操作8.7.7 排序和搜索8.7.8 實用工具8.8 總結(jié)8.9 練習 第9章 違例差錯控制9.1 基本違例9.1.1 違例自變量9.2 違例的捕獲9.2.1 try塊9.2.2 違例控制器9.2.3 違例規(guī)范9.2.4 捕獲所有違例9.2.5 重新“擲”出違例9.3 標準Java違例9.3.1 RuntimeException的特殊情況9.4 創(chuàng)建自己的違例9.5 違例的限制9.6 用finally清除9.6.1 用finally做什么9.6.2 缺點:丟失的違例9.7 構(gòu)建器9.8 違例匹配9.8.1 違例準則9.9 總結(jié)9.10 練習 第10章 Java IO系統(tǒng)10.1 輸入和輸出10.1.1 InputStream的類型10.1.2 OutputStream的類型10.2 增添屬性和有用的接口10.2.1 通過FilterInputStream從InputStream里讀入數(shù)據(jù)10.2.2 通過FilterOutputStream向OutputStream里寫入數(shù)據(jù)10.3 本身的缺陷:RandomAccessFile10.4 File類10.4.1 目錄列表器10.4.2 檢查與創(chuàng)建目錄10.5 IO流的典型應(yīng)用10.5.1 輸入流10.5.2 輸出流10.5.3 快捷文件處理10.5.4 從標準輸入中讀取數(shù)據(jù)10.5.5 管道數(shù)據(jù)流10.6 StreamTokenizer10.6.1 StringTokenizer10.7 Java 1.1的IO流10.7.1 數(shù)據(jù)的發(fā)起與接收10.7.2 修改數(shù)據(jù)流的行為10.7.3 未改變的類10.7.4 一個例子10.7.5 重定向標準IO10.8 壓縮10.8.1 用GZIP進行簡單壓縮10.8.2 用Zip進行多文件保存10.8.3 Java歸檔(jar)實用程序10.9 對象串聯(lián)10.9.1 尋找類10.9.2 序列化的控制10.9.3 利用“持久性”10.10 總結(jié)10.11 練習 第11章 運行期類型鑒定11.1 對RTTI的需要11.1.1 Class對象11.1.2 造型前的檢查11.2 RTTI語法11.3 反射:運行期類信息11.3.1 一個類方法提取器11.4 總結(jié)11.5 練習 第12章 傳遞和返回對象12.1 傳遞句柄12.1.1 別名問題12.2 制作本地副本12.2.1 按值傳遞12.2.2 克隆對象12.2.3 使類具有克隆能力12.2.4 成功的克隆12.2.5 Object.clone()的效果12.2.6 克隆合成對象12.2.7 用Vector進行深層復制12.2.8 通過序。
java語法基礎(chǔ)1,關(guān)鍵字:其實就是某種語言賦予了特殊含義的單詞。
保留字:其實就是還沒有賦予特殊含義,但是準備日后要使用過的單詞。2,標示符:其實就是在程序中自定義的名詞。
比如類名,變量名,函數(shù)名。包含 0-9、a-z、$、_ ; 注意: 1),數(shù)字不可以開頭。
2),不可以使用關(guān)鍵字。3,常量:是在程序中的不會變化的數(shù)據(jù)。
4,變量:其實就是內(nèi)存中的一個存儲空間,用于存儲常量數(shù)據(jù)。 作用:方便于運算。
因為有些數(shù)據(jù)不確定。所以確定該數(shù)據(jù)的名詞和存儲空間。
特點:變量空間可以重復使用。什么時候定義變量?只要是數(shù)據(jù)不確定的時候,就定義變量。
變量空間的開辟需要什么要素呢? 1,這個空間要存儲什么數(shù)據(jù)?數(shù)據(jù)類型。 2,這個空間叫什么名字?。孔兞棵Q。
3,這個空間的第一次的數(shù)據(jù)是什么? 變量的初始化值。變量的作用域和生存期:變量的作用域: 作用域從變量定義的位置開始,到該變量所在的那對大括號結(jié)束;生命周期: 變量從定義的位置開始就在內(nèi)存中活了; 變量到達它所在的作用域的時候就在內(nèi)存中消失了;數(shù)據(jù)類型: 1):基本數(shù)據(jù)類型:byte、short、int、long、float、double、char、boolean 2):引用數(shù)據(jù)類型: 數(shù)組、類、接口。
級別從低到高為:byte,char,short(這三個平級)-->int-->float-->long-->double 自動類型轉(zhuǎn)換:從低級別到高級別,系統(tǒng)自動轉(zhuǎn)的;強制類型轉(zhuǎn)換:什么情況下使用?把一個高級別的數(shù)賦給一個別該數(shù)的級別低的變量;運算符號: 1)、算術(shù)運算符。 + - * / % %:任何整數(shù)模2不是0就是1,所以只要改變被模數(shù)就可以實現(xiàn)開關(guān)運算。
+:連接符。 ++,-- 2)、賦值運算符。
= += -= *= /= %= 3)、比較運算符。 特點:該運算符的特點是:運算完的結(jié)果,要么是true,要么是false。
4)、邏輯運算符。 & | ^ ! && || 邏輯運算符除了! 外都是用于連接兩個boolean類型表達式。
&: 只有兩邊都為true結(jié)果是true。否則就是false。
|:只要兩邊都為false結(jié)果是false,否則就是true ^:異或:和或有點不一樣。 兩邊結(jié)果一樣,就為false。
兩邊結(jié)果不一樣,就為true. & 和 &&區(qū)別: & :無論左邊結(jié)果是什么,右邊都參與運算。 &&:短路與,如果左邊為false,那么右邊不參數(shù)與運算。
| 和|| 區(qū)別:|:兩邊都運算。 ||:短路或,如果左邊為true,那么右邊不參與運算。
5)、位運算符:用于操作二進制位的運算符。 & | ^ <> >>>(無符號右移) 練習:對兩個變量的數(shù)據(jù)進行互換。
不需要第三方變量。 int a = 3,b = 5;-->b = 3,a = 5; a = a + b; a =8; b = a - b; b =3;c a = a - b; a =5; a = a ^ b;// b = a ^ b;//b= a ^ b ^ b = a a = a ^ b;//a= a ^ b ^ a = b; 練習:高效的算出 2*8 ------------------> 位移運算的考驗,java基礎(chǔ)面試中它的曝光率不低哦5,語句。
If switch do while while for 這些語句什么時候用? 1)、當判斷固定個數(shù)的值的時候,可以使用if,也可以使用switch。 但是建議使用switch,效率相對較高。
switch(變量){ case 值:要執(zhí)行的語句;break; … default:要執(zhí)行的語句; } 工作原理:用小括號中的變量的值依次和case后面的值進行對比,和哪個case后面的值相同了 就執(zhí)行哪個case后面的語句,如果沒有相同的則執(zhí)行default后面的語句;細節(jié):1):break是可以省略的,如果省略了就一直執(zhí)行到遇到break為止; 2):switch 后面的小括號中的變量應(yīng)該是byte,char,short,int四種類型中的一種; 3):default可以寫在switch結(jié)構(gòu)中的任意位置;如果將default語句放在了第一行,則不管expression與case中的value是否匹配,程序會從default開始執(zhí)行直到第一個break出現(xiàn)。 2)、當判斷數(shù)據(jù)范圍,獲取判斷運算結(jié)果boolean類型時,需要使用if。
3)、當某些語句需要執(zhí)行很多次時,就用循環(huán)結(jié)構(gòu)。 while和for可以進行互換。
區(qū)別在于:如果需要定義變量控制循環(huán)次數(shù)。建議使用for。
因為for循環(huán)完畢,變量在內(nèi)存中釋放。break:作用于switch ,和循環(huán)語句,用于跳出,或者稱為結(jié)束。
break語句單獨存在時,下面不要定義其他語句,因為執(zhí)行不到,編譯會失敗。當循環(huán)嵌套時,break只跳出當前所在循環(huán)。
要跳出嵌套中的外部循環(huán),只要給循環(huán)起名字即可,這個名字稱之為標號。代碼片段:z: //for循環(huán)標號 for(int x=0;x<3;x++){ for(int y=0;y<2;y++){ //不帶標號的就是結(jié)束整個循環(huán)體的作用,在那個循環(huán)內(nèi)部就結(jié)束哪個循環(huán) if(x==1)break; //帶標號跳過break后面的語句,回到標號位置的循環(huán),繼續(xù)該循環(huán)下次的條件判斷, //已決定是否執(zhí)行該循環(huán)體 if(x==2&&y==1)break z; } } continue:只作用于循環(huán)結(jié)構(gòu),繼續(xù)循環(huán)用的。
作用:結(jié)束本次循環(huán),繼續(xù)下次循環(huán)。該語句單獨存在時,下面不可以定義語句,執(zhí)行不到。
6,函 數(shù):為了提高代碼的復用性,可以將其定義成一個單獨的功能,該功能的體現(xiàn)就是java中的函數(shù)。函數(shù)就是體現(xiàn)之一。
java中的函數(shù)的定義格式: 修飾符 返回值類型 函數(shù)名(參數(shù)類型 形式參數(shù)1,參數(shù)類型 形式參數(shù)1,…){ 執(zhí)行語句; return 返回值; } 當函數(shù)沒有具體的返回值時,返回的返回值類型用void關(guān)鍵字表示。如果函數(shù)的返回值類型是void時,return語句可以省略不寫的,系統(tǒng)會幫你自動加上。
return的作用:結(jié)束函數(shù)。結(jié)束功能。
如何。
在學java之前應(yīng)該有一點編程的基礎(chǔ),雖然也可以從java最基礎(chǔ)的學起,但是因為編程語言是有一個發(fā)展過程地,從最開始匯編到c再到現(xiàn)在的高級語言,所以有些概念是需要了解的,比如說java是面向?qū)ο蟮?,如果你不知道什么是面向過程那么也就不能很好的理解面向?qū)ο笠约笆褂脤ο蠹夹g(shù)。
所以我建議開始先學一下c語言的數(shù)據(jù)結(jié)構(gòu),這樣你可以了解了c的語法,數(shù)據(jù)結(jié)構(gòu)以及面向過程地編程。雖然可能以后你永遠永不倒c語言,但是通過這個你可以了解程序在計算機中是怎么運行的,對于以后解決稍復雜的問題很有幫助。而且java本身的編譯器也是用c語言寫的。 java上手比較容易些,因為面向?qū)ο蠓先说睦斫鈫栴}的方式。但java體系很龐大,想學好也不容易。這是個人建議,當然你也可以直接從java學起,不管怎樣,數(shù)據(jù)結(jié)構(gòu)是一定要學的,有使用java的數(shù)據(jù)結(jié)構(gòu)的書。
其他的關(guān)于數(shù)據(jù)庫什么的,以后肯定也是會用到的,也要學習。當然這不必須在學java之前學,可以在以后或者是用到的時候?qū)W。
至于數(shù)學,如果你不是去做很深入的技術(shù),只是用java做應(yīng)用的話,一般就行,當然是你學的越深越好,這個你在以后就體會到了。
英語就是編程的時候要用,只是用那些單詞和最最基本的語法。有些人不會英語使用漢語拼音來編程,如果用全拼的話太長了,如果用縮寫的話,他自己過一個星期之后就看不懂他自己寫的程序了。要用英文,因為英文有意義的,拼音只是讀音,意思還要猜。
要把java這個語言掌握好,沒有兩年的編程經(jīng)驗是不行的,(當然如果之前你有其他語言的基礎(chǔ)例外)。之后還有關(guān)于程序設(shè)計相關(guān)的架構(gòu)啊,設(shè)計模式啊等等,java只是一門語言,到后來更重要的是思想,編程思想,軟件設(shè)計思想,所以如果你沒有編程基礎(chǔ)的話,我建議先了解一下C語言。你也可以多了解一下其它的語言,每種語言的思想都或多或少有所不同。但是它們又有非常多的相同之處。
如果你真的去學,你會碰到很多很多未知的東西,不要指望很快都學會,技術(shù)這個東西就是這樣,都是一點一點慢慢積累的,任何人都,任何聰明的人都不能跳躍,所以要戒驕戒躁,腳踏實地的來學。所以技術(shù)的難難在你必須逐漸的積累。所以技術(shù)是可以用年計算的,比如我們國家的軍事技術(shù)比美國落后二十年,就是這個原因。
最后祝你能找對自己的路。
1、首先要學習java的基礎(chǔ)知識。
不要被新技術(shù)迷惑,所謂萬變不離其宗,新技術(shù)都是基于java的基礎(chǔ)之上,如果基礎(chǔ)不扎實,對于這些新技術(shù)的理解也是一知半解,學不到根源。 2、做一個java項目 在學習完java的基礎(chǔ)知識之后,做一個java項目來鞏固一下,在項目中會發(fā)現(xiàn)很多問題,通過解決問題,加深基礎(chǔ)知識的掌握。
3、學習數(shù)據(jù)庫的基礎(chǔ)知識和開發(fā)應(yīng)用 軟件開發(fā)離不了數(shù)據(jù)庫,掌握幾種流行的數(shù)據(jù)庫:Oracle、SQL server、MySQL等。 4、JEE基礎(chǔ) 在這里首先要學習網(wǎng)站基礎(chǔ),包括HTML、DHTML、JavaScript;接著要學習XML,XML JAXP;然后學習JEE基礎(chǔ),包括JEE開發(fā)環(huán)境,RMI/IIOP、JNDI;最后學習JDBC數(shù)據(jù)庫的應(yīng)用開發(fā)。
5、web開發(fā) 全面的JEE的web開發(fā)知識:Servlet JSP javaBean TagLib,到這里做一個完整的web應(yīng)用項目開發(fā)。 6、EJB開發(fā) 包含全面的EJB知識:1)EJB入門和無狀態(tài)會話Bean;2)有狀態(tài)會話Bean;3)BMP和CMP是實體Bean;4)jms和MessageDrivenBean;5)事物和安全(JTA、JTS和JAAS);6)WebService的開發(fā)和應(yīng)用; 7、開源框架的學習 學習幾種現(xiàn)在流行的開源框架:Struts、Spring、Hibernian、Webwork等。
完整的學習這些框架的開發(fā)和應(yīng)用。如果有興趣還可以學習Ibati框架、AJAX技術(shù)和DWR框架的開發(fā)和應(yīng)用。
8、JEE項目 綜合應(yīng)用JEE的知識來開發(fā)一個完整的應(yīng)用。 9、面向?qū)ο蠓治雠c設(shè)計 java是一種面向?qū)ο蟮恼Z言,所以要深入學習面向?qū)ο蟮姆治雠c設(shè)計,另外還要學習UML統(tǒng)一建模語言。
10、接下來就是系統(tǒng)設(shè)計與架構(gòu) 這里要學習的是Java設(shè)計模式、EJB設(shè)計模式、JEE核心設(shè)計模式、JEE應(yīng)用程序框架設(shè)計。 11、軟件工程 軟件工程基本理論知識的學習,還有Rup和極限編程。
12、技術(shù)研究 學習搜索引擎技術(shù):如Lucene等、工作流技術(shù):包含Shark、JBPM等、SOA架構(gòu)和應(yīng)用。 13、綜合項目實戰(zhàn) 實現(xiàn)一個企業(yè)級的應(yīng)用。
每個階段在做項目的基礎(chǔ)上牢固的掌握應(yīng)用到的知識,只有在實際的應(yīng)用中發(fā)現(xiàn)問題,加深所學的知識。
java需要學習課程內(nèi)容:
第一部分:
JAVA語言基礎(chǔ)知識。包括異常、IO流、多線程、集合類、數(shù)據(jù)庫。(切記基礎(chǔ)知識一定要時時刻刻鞏固)
要求:對java的封裝,生命周期等有一定的了解;
異常------掌握try-catch-finally的使用
IO流------掌握字節(jié)流、字符流和對象序列化的處理.。熟練使用各種輸入、輸出流類(InputStream、OutputStream、FileInputStream、FileOutputStream、DataInputStream、DataOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、InputStreamReader、OutputStreamWriter、BufferReader、BufferedWriter、ObjectInputStream、ObjectOutputStream)。
多線程-------掌握多線程實現(xiàn)的兩種實現(xiàn)方法,分別是繼承Thread類與實現(xiàn)Runnable接口。理解線程間的同步與互斥。
集合類-------掌握Set、Collection、Map、List、Iterator、Enumeration接口的使用,掌握HashSet、ArrayList、Vector、HashMap、HashTable類的使用。
數(shù)據(jù)庫-------掌握JDBC API的使用,包括DriverManager類、Connection接口、Statement類和接口、PreparedStatement接口、ResultSet接口。
還有了解java反射機制,對Java1.5的新功能必須有了解與使用,泛型等。.
另外-------理解Unicode、GB2132、GBK、UTF-8、ISO-8859-1編碼方式。
參考:《Java編程思想》、張孝祥視頻教學。
第二部分:
JAVA網(wǎng)絡(luò)編程。包括Socket、RMI、HTML、XML、JSP、JavaBean、Servlet。
要求:Socket--------了解java.io包中的套接口類和服務(wù)器套接口類的使用。
RMI--------掌握RMI基本工作原理、掌握定義遠程服務(wù)接口類、遠程接口類、客戶端調(diào)用類和部署、編譯RMI應(yīng)用程序。
HTML--------了解HTML語言的語法、各種標簽。
JSP-------掌握JSP2.0語法、隱含對象、EL、JSTL1.1、JSP自定標簽。
JavaBean-------理解JavaBean的特點和事件模型。
XML--------了解XML語言的語法、DTD、Schema。
Servlet---------掌握HTTP協(xié)議、Servlet工作過程、Servlet會話跟蹤、Servlet過濾器、Serlvet事件偵聽器、配置web.xml。
UML-------掌握用例圖、類圖、活動圖、順序圖、狀態(tài)圖。
Aglet-------學會安裝使用tahiti服務(wù)器,掌握Aglet API。[以后再學,在彭老師的項目才會用到]
開發(fā)工具------掌握Rational Rose 、ant 、cvs版本控制、myeclipse、dreamweave等開發(fā)工具使用。
另外-------學習過程中學會使用Tomcat、JBoss/Weblogic服務(wù)器
學習是一件非常開心的事,在學習之前有一個很重要的東西需要我們?nèi)プ龉φn,那就是:我將要學習哪些東西,他們分別有什么作用。對于Java編程語言來說也是一樣,現(xiàn)在本人總結(jié)了一些關(guān)于Javase學習需要了解的知識點,希望對大家學習Javase有所幫助:
一
一、Java基礎(chǔ)語法部分(重點熟練掌握)
1、關(guān)鍵字
2、標識符
3、注釋 【重點關(guān)注】
4、常量與變量
5、運算符
6、語句
7、函數(shù)(方法)
8、數(shù)組
二
核心知識
1、面向?qū)ο蟮乃枷?/p>
2、面向?qū)ο蟮乃拇筇卣?/p>
--抽象
--封裝
--繼承
--多態(tài)
3、了解一個類
--類的構(gòu)成
-屬性
-方法
-構(gòu)造方法
-塊
-內(nèi)部類
--高級特性
-final
-static
-abstract
-sychronsized
--常用特性
-包
-修飾符
4、類與類之間的關(guān)系
沒關(guān)系
依賴(use a)
關(guān)聯(lián)(has a)
繼承(is a)
5、接口(抽象類--抽象方法)
6、類,抽象類,接口之間的關(guān)系
三
異常類處理
1、API準異常
2、try/catch/finally
3、throw/throws
4、自定義異常
四
常用的API
1、math ,date,random,String,StringBuffered,StringBuilder,BigInteger。
2、集合框架
--collection
-list
-set
-map
-hasmap
-treemap
-collections
-arrays
3、I/O
4、swing 【內(nèi)部類 匿名類】
5、多線程
6、網(wǎng)絡(luò)
--TCP和UDP兩種網(wǎng)絡(luò)數(shù)據(jù)傳輸方式
7、反射
8、模式
--單利模式
--工廠模式
--裝飾模式
--適配模式
9、注解
10、補充知識點:Javase的新特性
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:3.579秒