import java.util.Random;public class ArrayTools { private int[] data = new int[10]; private int size; // 數(shù)組實(shí)現(xiàn)自動(dòng)擴(kuò)容 public void expansion() { if (data.length == size) { int[] t = new int[2 * data.length]; for (int i = 0; i index;i--){ data[i]=data[i-1]; } data[index]=x; size++; } // 數(shù)組刪除數(shù)據(jù)功能 public void delete(int index){ if(index>size||index<0){ System.out.println("超出范圍,數(shù)據(jù)最多有:"+size);return; } for(int i=index;i<size-1;i++){ data[i]=data[i+1]; } data[size-1]=0; size--; } // 數(shù)組查看數(shù)據(jù)功能 public void show(){ for(int i=0;i<size;i++){ System.out.print(data[i]+" "); } System.out.println(); } public static void main(String[] args) { Random r = new Random(); ArrayTools array=new ArrayTools(); System.out.println("隨機(jī)生成的數(shù)組是:"); for (int i = 0; i < array.data.length; i++) { array.data[i]=r.nextInt(100); System.out.print(array.data[i]+" "); array.size++; } System.out.println(); array.add(1000,2); array.add(1000,3); array.add(1000,4); array.show(); array.delete(50); array.show(); }}有說明。
1、對(duì)象的初始化(1) 非靜態(tài)對(duì)象的初始化 在創(chuàng)建對(duì)象時(shí),對(duì)象所在類的所有數(shù)據(jù)成員會(huì)首先進(jìn)行初始化。
基本類型:int型,初始化為0。 如果為對(duì)象:這些對(duì)象會(huì)按順序初始化。
※在所有類成員初始化完成之后,才調(diào)用本類的構(gòu)造方法創(chuàng)建對(duì)象。 構(gòu)造方法的作用就是初始化。
(2) 靜態(tài)對(duì)象的初始化 程序中主類的靜態(tài)變量會(huì)在main方法執(zhí)行前初始化。 不僅第一次創(chuàng)建對(duì)象時(shí),類中的所有靜態(tài)變量都初始化,并且第一次訪問某類(注意此時(shí) 未創(chuàng)建此類對(duì)象)的靜態(tài)對(duì)象時(shí),所有的靜態(tài)變量也要按它們?cè)陬愔械捻樞虺跏蓟?/p>
2、繼承時(shí),對(duì)象的初始化過程 (1) 主類的超類由高到低按順序初始化靜態(tài)成員,無論靜態(tài)成員是否為private。 (2) 主類靜態(tài)成員的初始化。
(3) 主類的超類由高到低進(jìn)行默認(rèn)構(gòu)造方法的調(diào)用。注意,在調(diào)用每一個(gè)超類的默認(rèn)構(gòu)造 方法前,先進(jìn)行對(duì)此超類進(jìn)行非靜態(tài)對(duì)象的初始化。
(4) 主類非靜態(tài)成員的初始化。 (5) 調(diào)用主類的構(gòu)造方法。
3、關(guān)于構(gòu)造方法 (1) 類可以沒有構(gòu)造方法,但如果有多個(gè)構(gòu)造方法,就應(yīng)該要有默認(rèn)的構(gòu)造方法,否則在繼承此類時(shí),需要在子類中顯式調(diào)用父類的某一個(gè)非默認(rèn)的構(gòu)造方法了。 (2) 在一個(gè)構(gòu)造方法中,只能調(diào)用一次其他的構(gòu)造方法,并且調(diào)用構(gòu)造方法的語句必須是 第一條語句。
4、有關(guān)public、private和protected (1) 無public修飾的類,可以被其他類訪問的條件是:a.兩個(gè)類在同一文件中,b.兩個(gè)類 在同一文件夾中,c.兩個(gè)類在同一軟件包中。 (2) protected:繼承類和同一軟件包的類可訪問。
(3) 如果構(gòu)造方法為private,那么在其他類中不能創(chuàng)建該類的對(duì)象。 5、抽象類 (1) 抽象類不能創(chuàng)建對(duì)象。
(2) 如果一個(gè)類中一個(gè)方法為抽象方法,則這個(gè)類必須為abstract抽象類。 (3) 繼承抽象類的類在類中必須實(shí)現(xiàn)抽象類中的抽象方法。
(4) 抽象類中可以有抽象方法,也可有非抽象方法。抽象方法不能為private。
(5) 間接繼承抽象類的類可以不給出抽象方法的定義。 6、final關(guān)鍵字 (1) 一個(gè)對(duì)象是常量,不代表不能轉(zhuǎn)變對(duì)象的成員,仍可以其成員進(jìn)行操作。
(2) 常量在使用前必須賦值,但除了在聲明的同時(shí)初始化外,就只能在構(gòu)造方法中初始化 。 (3) final修飾的方法不能被重置(在子類中不能出現(xiàn)同名方法)。
(4) 如果聲明一個(gè)類為final,則所有的方法均為final,無論其是否被final修飾,但數(shù)據(jù) 成員可為final也可不是。 7、接口interface (用implements來實(shí)現(xiàn)接口) (1) 接口中的所有數(shù)據(jù)均為 static和final即靜態(tài)常量。
盡管可以不用這兩個(gè)關(guān)鍵字修飾 ,但必須給常量賦初值。 (2) 接口中的方法均為public,在實(shí)現(xiàn)接口類中,實(shí)現(xiàn)方法必須可public關(guān)鍵字。
(3) 如果使用public來修飾接口,則接口必須與文件名相同。 8、多重繼承 (1) 一個(gè)類繼承了一個(gè)類和接口,那么必須將類寫在前面,接口寫在后面,接口之間用逗 號(hào)分隔。
(2) 接口之間可多重繼承,注意使用關(guān)鍵字extends。 (3) 一個(gè)類雖只實(shí)現(xiàn)了一個(gè)接口,但不僅要實(shí)現(xiàn)這個(gè)接口的所有方法,還要實(shí)現(xiàn)這個(gè)接口 繼承的接口的方法,接口中的所有方法均須在類中實(shí)現(xiàn)。
9、接口的嵌入 (1) 接口嵌入類中,可以使用private修飾。此時(shí),接口只能在所在的類中實(shí)現(xiàn),其他類不 能訪問。
(2) 嵌入接口中的接口一定要為public。 10、類的嵌入 (1) 類可以嵌入另一個(gè)類中,但不能嵌入接口中。
(2) 在靜態(tài)方法或其他方法中,不能直接創(chuàng)建內(nèi)部類對(duì)象,需通過手段來取得。 手段有兩種: 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) 一個(gè)類繼承了另一個(gè)類的內(nèi)部類,因?yàn)槌愂莾?nèi)部類,而內(nèi)部類的構(gòu)造方法不能自動(dòng) 被調(diào)用,這樣就需要在子類的構(gòu)造方法中明確的調(diào)用超類的構(gòu)造方法。
接上例: class C extends A.B { C() { new A().super(); // 這一句就實(shí)現(xiàn)了對(duì)內(nèi)部類構(gòu)造方法的調(diào)用。 } } 構(gòu)造方法也可這樣寫: C(A a) { a.super(); } // 使用這個(gè)構(gòu)造方法創(chuàng)建對(duì)象,要寫成C c = new C(a); a是A的對(duì)象。
11、異常類 JAVA中除了RunTimeException 類,其他異常均須捕獲或拋出。至于數(shù)據(jù)庫,WEB,JSP,JS之類的那是高級(jí)部分了。
import java.util.Random;public class ArrayTools { private int[] data = new int[10]; private int size;
// 數(shù)組實(shí)現(xiàn)自動(dòng)擴(kuò)容 public void expansion() { if (data.length == size) { int[] t = new int[2 * data.length]; for (int i = 0; i < data.length; i++) { t[i] = data[i]; } data = t; } } // 數(shù)組增加數(shù)據(jù)功能 public void add(int x,int index){ expansion(); for(int i=size;i>index;i--){ data[i]=data[i-1]; } data[index]=x; size++; } // 數(shù)組刪除數(shù)據(jù)功能 public void delete(int index){ if(index>size||index<0){ System.out.println("超出范圍,數(shù)據(jù)最多有:"+size);return; } for(int i=index;i<size-1;i++){ data[i]=data[i+1]; } data[size-1]=0; size--; } // 數(shù)組查看數(shù)據(jù)功能 public void show(){ for(int i=0;i<size;i++){ System.out.print(data[i]+" "); } System.out.println(); }
public static void main(String[] args) { Random r = new Random(); ArrayTools array=new ArrayTools(); System.out.println("隨機(jī)生成的數(shù)組是:"); for (int i = 0; i < array.data.length; i++) { array.data[i]=r.nextInt(100); System.out.print(array.data[i]+" "); array.size++; } System.out.println(); array.add(1000,2); array.add(1000,3); array.add(1000,4); array.show(); array.delete(50); array.show(); }}
有說明
(1) 類名首字母應(yīng)該大寫。
字段、方法以及對(duì)象(句柄)的首字母應(yīng)小寫。對(duì)于所有標(biāo)識(shí)符,其中包含的所有單詞都應(yīng)緊靠在一起,而且大寫中間單詞的首字母。
例如: ThisIsAClassName 若在定義中出現(xiàn)了常數(shù)初始化字符,則大寫static final基本類型標(biāo)識(shí)符中的所有字母。這樣便可標(biāo)志出它們屬于編譯期的常數(shù)。
Java包(Package)屬于一種特殊情況:它們?nèi)际切懽帜?,即便中間的單詞亦是如此。對(duì)于域名擴(kuò)展名稱,如com,org,net或者edu等,全部都應(yīng)小寫(這也是Java 1.1和Java 1.2的區(qū)別之一)。
(2) 為了常規(guī)用途而創(chuàng)建一個(gè)類時(shí),請(qǐng)采取“經(jīng)典形式”,并包含對(duì)下述元素的定義: equals() hashCode() toString() clone()(implement Cloneable) implement Serializable (3) 對(duì)于自己創(chuàng)建的每一個(gè)類,都考慮置入一個(gè)main(),其中包含了用于測(cè)試那個(gè)類的代碼。為使用一個(gè)項(xiàng)目中的類,我們沒必要?jiǎng)h除測(cè)試代碼。
若進(jìn)行了任何形式的改動(dòng),可方便地返回測(cè)試。這些代碼也可作為如何使用類的一個(gè)示例使用。
(4) 應(yīng)將方法設(shè)計(jì)成簡(jiǎn)要的、功能性單元,用它描述和實(shí)現(xiàn)一個(gè)不連續(xù)的類接口部分。理想情況下,方法應(yīng)簡(jiǎn)明扼要。
若長(zhǎng)度很大,可考慮通過某種方式將其分割成較短的幾個(gè)方法。這樣做也便于類內(nèi)代碼的重復(fù)使用(有些時(shí)候,方法必須非常大,但它們?nèi)詰?yīng)只做同樣的一件事情)。
(5) 設(shè)計(jì)一個(gè)類時(shí),請(qǐng)?jiān)O(shè)身處地為客戶程序員考慮一下(類的使用方法應(yīng)該是非常明確的)。然后,再設(shè)身處地為管理代碼的人考慮一下(預(yù)計(jì)有可能進(jìn)行哪些形式的修改,想想用什么方法可把它們變得更簡(jiǎn)單)。
(6) 使類盡可能短小精悍,而且只解決一個(gè)特定的問題。下面是對(duì)類設(shè)計(jì)的一些建議:關(guān)鍵字: ■一個(gè)復(fù)雜的開關(guān)語句:考慮采用“多形”機(jī)制 ■數(shù)量眾多的方法涉及到類型差別極大的操作:考慮用幾個(gè)類來分別實(shí)現(xiàn) ■許多成員變量在特征上有很大的差別:考慮使用幾個(gè)類 。
(7) 讓一切東西都盡可能地“私有”——private。可使庫的某一部分“公共化”(一個(gè)方法、類或者一個(gè)字段等等),就永遠(yuǎn)不能把它拿出。
若強(qiáng)行拿出,就可能破壞其他人現(xiàn)有的代碼,使他們不得不重新編寫和設(shè)計(jì)。若只公布自己必須公布的,就可放心大膽地改變其他任何東西。
在多線程環(huán)境中,隱私是特別重要的一個(gè)因素——只有private字段才能在非同步使用的情況下受到保護(hù)。 (8) 謹(jǐn)惕“巨大對(duì)象綜合癥”。
對(duì)一些習(xí)慣于順序編程思維、且初涉OOP領(lǐng)域的新手,往往喜歡先寫一個(gè)順序執(zhí)行的程序,再把它嵌入一個(gè)或兩個(gè)巨大的對(duì)象里。根據(jù)編程原理,對(duì)象表達(dá)的應(yīng)該是應(yīng)用程序的概念,而非應(yīng)用程序本身。
(9) 若不得已進(jìn)行一些不太雅觀的編程,至少應(yīng)該把那些代碼置于一個(gè)類的內(nèi)部。 (10) 任何時(shí)候只要發(fā)現(xiàn)類與類之間結(jié)合得非常緊密,就需要考慮是否采用內(nèi)部類,從而改善編碼及維護(hù)工作(參見第14章14.1.2小節(jié)的“用內(nèi)部類改進(jìn)代碼”)。
(11) 盡可能細(xì)致地加上注釋,并用javadoc注釋文檔語法生成自己的程序文檔。 (12) 避免使用“魔術(shù)數(shù)字”,這些數(shù)字很難與代碼很好地配合。
如以后需要修改它,無疑會(huì)成為一場(chǎng)噩夢(mèng),因?yàn)楦静恢馈?00”到底是指“數(shù)組大小”還是“其他全然不同的東西”。所以,我們應(yīng)創(chuàng)建一個(gè)常數(shù),并為其使用具有說服力的描述性名稱,并在整個(gè)程序中都采用常數(shù)標(biāo)識(shí)符。
這樣可使程序更易理解以及更易維護(hù)。關(guān)鍵字: ■一個(gè)復(fù)雜的開關(guān)語句:考慮采用“多形”機(jī)制 ■數(shù)量眾多的方法涉及到類型差別極大的操作:考慮用幾個(gè)類來分別實(shí)現(xiàn) ■許多成員變量在特征上有很大的差別:考慮使用幾個(gè)類 。
(7) 讓一切東西都盡可能地“私有”——private??墒箮斓哪骋徊糠帧肮不保ㄒ粋€(gè)方法、類或者一個(gè)字段等等),就永遠(yuǎn)不能把它拿出。
若強(qiáng)行拿出,就可能破壞其他人現(xiàn)有的代碼,使他們不得不重新編寫和設(shè)計(jì)。若只公布自己必須公布的,就可放心大膽地改變其他任何東西。
在多線程環(huán)境中,隱私是特別重要的一個(gè)因素——只有private字段才能在非同步使用的情況下受到保護(hù)。 (8) 謹(jǐn)惕“巨大對(duì)象綜合癥”。
對(duì)一些習(xí)慣于順序編程思維、且初涉OOP領(lǐng)域的新手,往往喜歡先寫一個(gè)順序執(zhí)行的程序,再把它嵌入一個(gè)或兩個(gè)巨大的對(duì)象里。根據(jù)編程原理,對(duì)象表達(dá)的應(yīng)該是應(yīng)用程序的概念,而非應(yīng)用程序本身。
(9) 若不得已進(jìn)行一些不太雅觀的編程,至少應(yīng)該把那些代碼置于一個(gè)類的內(nèi)部。 (10) 任何時(shí)候只要發(fā)現(xiàn)類與類之間結(jié)合得非常緊密,就需要考慮是否采用內(nèi)部類,從而改善編碼及維護(hù)工作(參見第14章14.1.2小節(jié)的“用內(nèi)部類改進(jìn)代碼”)。
(11) 盡可能細(xì)致地加上注釋,并用javadoc注釋文檔語法生成自己的程序文檔。 (12) 避免使用“魔術(shù)數(shù)字”,這些數(shù)字很難與代碼很好地配合。
如以后需要修改它,無疑會(huì)成為一場(chǎng)噩夢(mèng),因?yàn)楦静恢馈?00”到底是指“數(shù)組大小”還是“其他全然不同的東西”。所以,我們應(yīng)創(chuàng)建一個(gè)常數(shù),并為其使用具有說服力的描述性名稱,并在整個(gè)程序中都采用常數(shù)標(biāo)識(shí)符。
這樣可使程序更易理解以及更易維護(hù)。 (13) 涉及構(gòu)建器和異常的時(shí)候,通常希望重新丟棄在構(gòu)建器中捕獲的任何異常——如果它造成了那個(gè)對(duì)象的創(chuàng)建失敗。
這樣一來,調(diào)。
java語法基礎(chǔ)1,關(guān)鍵字:其實(shí)就是某種語言賦予了特殊含義的單詞。
保留字:其實(shí)就是還沒有賦予特殊含義,但是準(zhǔn)備日后要使用過的單詞。2,標(biāo)示符:其實(shí)就是在程序中自定義的名詞。
比如類名,變量名,函數(shù)名。包含 0-9、a-z、$、_ ; 注意: 1),數(shù)字不可以開頭。
2),不可以使用關(guān)鍵字。3,常量:是在程序中的不會(huì)變化的數(shù)據(jù)。
4,變量:其實(shí)就是內(nèi)存中的一個(gè)存儲(chǔ)空間,用于存儲(chǔ)常量數(shù)據(jù)。 作用:方便于運(yùn)算。
因?yàn)橛行?shù)據(jù)不確定。所以確定該數(shù)據(jù)的名詞和存儲(chǔ)空間。
特點(diǎn):變量空間可以重復(fù)使用。什么時(shí)候定義變量?只要是數(shù)據(jù)不確定的時(shí)候,就定義變量。
變量空間的開辟需要什么要素呢? 1,這個(gè)空間要存儲(chǔ)什么數(shù)據(jù)?數(shù)據(jù)類型。 2,這個(gè)空間叫什么名字啊?變量名稱。
3,這個(gè)空間的第一次的數(shù)據(jù)是什么? 變量的初始化值。變量的作用域和生存期:變量的作用域: 作用域從變量定義的位置開始,到該變量所在的那對(duì)大括號(hào)結(jié)束;生命周期: 變量從定義的位置開始就在內(nèi)存中活了; 變量到達(dá)它所在的作用域的時(shí)候就在內(nèi)存中消失了;數(shù)據(jù)類型: 1):基本數(shù)據(jù)類型:byte、short、int、long、float、double、char、boolean 2):引用數(shù)據(jù)類型: 數(shù)組、類、接口。
級(jí)別從低到高為:byte,char,short(這三個(gè)平級(jí))-->int-->float-->long-->double 自動(dòng)類型轉(zhuǎn)換:從低級(jí)別到高級(jí)別,系統(tǒng)自動(dòng)轉(zhuǎn)的;強(qiáng)制類型轉(zhuǎn)換:什么情況下使用?把一個(gè)高級(jí)別的數(shù)賦給一個(gè)別該數(shù)的級(jí)別低的變量;運(yùn)算符號(hào): 1)、算術(shù)運(yùn)算符。 + - * / % %:任何整數(shù)模2不是0就是1,所以只要改變被模數(shù)就可以實(shí)現(xiàn)開關(guān)運(yùn)算。
+:連接符。 ++,-- 2)、賦值運(yùn)算符。
= += -= *= /= %= 3)、比較運(yùn)算符。 特點(diǎn):該運(yùn)算符的特點(diǎn)是:運(yùn)算完的結(jié)果,要么是true,要么是false。
4)、邏輯運(yùn)算符。 & | ^ ! && || 邏輯運(yùn)算符除了! 外都是用于連接兩個(gè)boolean類型表達(dá)式。
&: 只有兩邊都為true結(jié)果是true。否則就是false。
|:只要兩邊都為false結(jié)果是false,否則就是true ^:異或:和或有點(diǎn)不一樣。 兩邊結(jié)果一樣,就為false。
兩邊結(jié)果不一樣,就為true. & 和 &&區(qū)別: & :無論左邊結(jié)果是什么,右邊都參與運(yùn)算。 &&:短路與,如果左邊為false,那么右邊不參數(shù)與運(yùn)算。
| 和|| 區(qū)別:|:兩邊都運(yùn)算。 ||:短路或,如果左邊為true,那么右邊不參與運(yùn)算。
5)、位運(yùn)算符:用于操作二進(jìn)制位的運(yùn)算符。 & | ^ <> >>>(無符號(hào)右移) 練習(xí):對(duì)兩個(gè)變量的數(shù)據(jù)進(jìn)行互換。
不需要第三方變量。 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; 練習(xí):高效的算出 2*8 ------------------> 位移運(yùn)算的考驗(yàn),java基礎(chǔ)面試中它的曝光率不低哦5,語句。
If switch do while while for 這些語句什么時(shí)候用? 1)、當(dāng)判斷固定個(gè)數(shù)的值的時(shí)候,可以使用if,也可以使用switch。 但是建議使用switch,效率相對(duì)較高。
switch(變量){ case 值:要執(zhí)行的語句;break; … default:要執(zhí)行的語句; } 工作原理:用小括號(hào)中的變量的值依次和case后面的值進(jìn)行對(duì)比,和哪個(gè)case后面的值相同了 就執(zhí)行哪個(gè)case后面的語句,如果沒有相同的則執(zhí)行default后面的語句;細(xì)節(jié):1):break是可以省略的,如果省略了就一直執(zhí)行到遇到break為止; 2):switch 后面的小括號(hào)中的變量應(yīng)該是byte,char,short,int四種類型中的一種; 3):default可以寫在switch結(jié)構(gòu)中的任意位置;如果將default語句放在了第一行,則不管expression與case中的value是否匹配,程序會(huì)從default開始執(zhí)行直到第一個(gè)break出現(xiàn)。 2)、當(dāng)判斷數(shù)據(jù)范圍,獲取判斷運(yùn)算結(jié)果boolean類型時(shí),需要使用if。
3)、當(dāng)某些語句需要執(zhí)行很多次時(shí),就用循環(huán)結(jié)構(gòu)。 while和for可以進(jìn)行互換。
區(qū)別在于:如果需要定義變量控制循環(huán)次數(shù)。建議使用for。
因?yàn)閒or循環(huán)完畢,變量在內(nèi)存中釋放。break:作用于switch ,和循環(huán)語句,用于跳出,或者稱為結(jié)束。
break語句單獨(dú)存在時(shí),下面不要定義其他語句,因?yàn)閳?zhí)行不到,編譯會(huì)失敗。當(dāng)循環(huán)嵌套時(shí),break只跳出當(dāng)前所在循環(huán)。
要跳出嵌套中的外部循環(huán),只要給循環(huán)起名字即可,這個(gè)名字稱之為標(biāo)號(hào)。代碼片段:z: //for循環(huán)標(biāo)號(hào) for(int x=0;x<3;x++){ for(int y=0;y<2;y++){ //不帶標(biāo)號(hào)的就是結(jié)束整個(gè)循環(huán)體的作用,在那個(gè)循環(huán)內(nèi)部就結(jié)束哪個(gè)循環(huán) if(x==1)break; //帶標(biāo)號(hào)跳過break后面的語句,回到標(biāo)號(hào)位置的循環(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)。該語句單獨(dú)存在時(shí),下面不可以定義語句,執(zhí)行不到。
6,函 數(shù):為了提高代碼的復(fù)用性,可以將其定義成一個(gè)單獨(dú)的功能,該功能的體現(xiàn)就是java中的函數(shù)。函數(shù)就是體現(xiàn)之一。
java中的函數(shù)的定義格式: 修飾符 返回值類型 函數(shù)名(參數(shù)類型 形式參數(shù)1,參數(shù)類型 形式參數(shù)1,…){ 執(zhí)行語句; return 返回值; } 當(dāng)函數(shù)沒有具體的返回值時(shí),返回的返回值類型用void關(guān)鍵字表示。如果函數(shù)的返回值類型是void時(shí),return語句可以省略不寫的,系統(tǒng)會(huì)幫你自動(dòng)加上。
return的作用:結(jié)束函數(shù)。結(jié)束功能。
如何。
1.初級(jí)部分: Java OO程序設(shè)計(jì)基礎(chǔ),包括 J2sdk基礎(chǔ)、Java 面向?qū)ο蠡A(chǔ)、Java API使用、數(shù)據(jù)結(jié)構(gòu)及算法基礎(chǔ)、Java AWT圖形界面程序開發(fā); J2SE平臺(tái)Java程序設(shè)計(jì),包括Swing圖形程序設(shè)計(jì), Socket網(wǎng)絡(luò)應(yīng)用程序設(shè)計(jì),對(duì)象序列化,Java 常用數(shù)據(jù)結(jié)構(gòu),Applet,流和文件,多線程程序設(shè)計(jì); Java桌面系統(tǒng)項(xiàng)目開發(fā),4~5人 1.初級(jí)部分: Java OO程序設(shè)計(jì)基礎(chǔ),包括 J2sdk基礎(chǔ)、Java 面向?qū)ο蠡A(chǔ)、Java API使用、數(shù)據(jù)結(jié)構(gòu)及算法基礎(chǔ)、Java AWT圖形界面程序開發(fā); J2SE平臺(tái)Java程序設(shè)計(jì),包括Swing圖形程序設(shè)計(jì), Socket網(wǎng)絡(luò)應(yīng)用程序設(shè)計(jì),對(duì)象序列化,Java 常用數(shù)據(jù)結(jié)構(gòu),Applet,流和文件,多線程程序設(shè)計(jì); Java桌面系統(tǒng)項(xiàng)目開發(fā),4~5人組成一個(gè)項(xiàng)目組,項(xiàng)目大小為(15人*工作日); Linux的基本操作,Linux下的Java程序開發(fā),Linux系統(tǒng)的簡(jiǎn)單管理; Oracle數(shù)據(jù)庫,包括SQL/PLSQL;數(shù)據(jù)庫和數(shù)據(jù)庫設(shè)計(jì);簡(jiǎn)單掌握ORACLE9i 數(shù)據(jù)庫的管理; 2.中級(jí)部分: Java Web應(yīng)用編程,包括 Java Oracle 編程,即JDBC;Java Web編程,包括JSP、Servlet,JavaBean;Java應(yīng)用編程,包括Weblogic、Websphere、Tomcat;以及利用Jbuilder開發(fā)Java程序; MVC與Struts,學(xué)習(xí)業(yè)界通用的MVC設(shè)計(jì)模式和Struts架構(gòu); Java B/S商務(wù)項(xiàng)目開發(fā),4~5人一個(gè)項(xiàng)目組,項(xiàng)目大小為(25人*工作日左右) 3.高級(jí)部分: J2ME程序設(shè)計(jì),包括J2EE程序、J2ME; Java高級(jí)程序設(shè)計(jì)(J2EE),包括J2EE體系結(jié)構(gòu)和J2EE技術(shù)、EJB;Weblogic使用、JBuilder開發(fā); Java和XML,包括Java Web Service,Java XML, 業(yè)界主流XML解析器程序設(shè)計(jì); 軟件企業(yè)規(guī)范和軟件工程,包括UML系統(tǒng)建模型和設(shè)計(jì)(Rational Rose 200x)軟件工程和業(yè)界開發(fā)規(guī)范;CVS版本控制、Java Code書寫規(guī)范; J2EE商務(wù)應(yīng)用系統(tǒng)項(xiàng)目開發(fā),4~5人一個(gè)項(xiàng)目組,項(xiàng)目大小為(25人*工作日左右)。
JAVA基礎(chǔ)知識(shí)可以到IT學(xué)習(xí)聯(lián)盟下載。
但是這套教程只是基礎(chǔ)。要學(xué)會(huì)真正到j(luò)ava就要一套完整到j(luò)ava視頻教程。
完整的java教程可以看看IT學(xué)習(xí)聯(lián)盟的<>。零基礎(chǔ)Java就業(yè)班包括Java基礎(chǔ) 進(jìn)階 高級(jí) 項(xiàng)目。
是一套完整的Java視頻教程。這套教程從零基礎(chǔ)開始教起,零基礎(chǔ)到就業(yè)水平。
就算沒基礎(chǔ)也可以學(xué)習(xí)的?!? 看你問的問題,應(yīng)該是對(duì)java很感興趣,其實(shí)你可以自學(xué)java。
關(guān)于如何學(xué)習(xí)java,我剛才看到一篇很不錯(cuò)的文章,是一個(gè)農(nóng)民工介紹自己如何自學(xué)java,并找到j(luò)ava的工作,里面介紹了他的學(xué)習(xí)方法和學(xué)習(xí)過程,希望對(duì)你有幫助。 我是一名地地道道的農(nóng)民工,生活在經(jīng)濟(jì)落后的農(nóng)村,有一個(gè)哥哥和一個(gè)弟弟,父母都是地道的農(nóng)民,日出而作,日落而息,我從小到大學(xué)習(xí)一直很好,從小學(xué)到高一都,成績(jī)?cè)谌?jí)一直名列前茅,這樣我也順利了考上省的重點(diǎn)高中,然而,每個(gè)學(xué)期開學(xué)是家里最為難的時(shí)候,每次交學(xué)費(fèi)都讓父母發(fā)愁許久,家里為了給我籌錢讀書,都借了不少錢,才讓我讀上高中。
我知道我讀到高中家里已經(jīng)欠了好多債,為了減輕家里的負(fù)擔(dān),我選擇了退學(xué)。 2009年我高一退學(xué),為了給家里還債,干過建筑工地的小工,搞過塑料制品加工,送水工等等。
很工資都很低,一個(gè)月也就1000多,加上加班費(fèi)一個(gè)月能拿2000多一點(diǎn),我每個(gè)月都向家里寄回800-1000元,到了2011年末,一次偶然的機(jī)會(huì)我接觸了Java,聽說Java的前景挺不錯(cuò),工資相對(duì)于我一個(gè)農(nóng)民工來說簡(jiǎn)直是天文數(shù)字,于是我在新華書店買了幾本Java的書,盡管白天辛苦工作,晚上回來還是堅(jiān)持看書,但有于基礎(chǔ)太差很多都很不明白,但還是堅(jiān)持看,一有看1-2個(gè)小時(shí)Java的書,看著看著許多基礎(chǔ)都慢慢的學(xué)會(huì)了,但那些比較難的還是看不懂,后來還買了有些關(guān)于框架的書,還是看不懂,這樣斷斷續(xù)續(xù)的持續(xù)了半年多,覺得自己Java的基礎(chǔ)都差不多懂了,但框架還是看不懂,還有最缺的項(xiàng)目經(jīng)驗(yàn),看了很多招聘Java程序員的簡(jiǎn)介都要項(xiàng)目經(jīng)驗(yàn),相對(duì)我一個(gè)農(nóng)民工來連框架都弄不明白,想找一份Java工作對(duì)我來說簡(jiǎn)直是奢侈。我只想學(xué)Java,并不敢想以后能從事Java的工作。
一次,在百度上看到一篇讓我很鼓舞的文章,是一個(gè)Java高手介紹在沒有基礎(chǔ)的朋友怎么自學(xué)入門Java,文章寫的很好,包含了如何學(xué)習(xí),該怎么學(xué)習(xí),他提到一個(gè)方法就是看視頻,因?yàn)榭磿鴮?shí)在太枯燥和費(fèi)解的,不少是我們也看不懂,這點(diǎn)我真的很認(rèn)同,我自己看書都看了很久才學(xué)會(huì)基礎(chǔ)。曾經(jīng)有想過參加培訓(xùn),但是上萬元的培訓(xùn)費(fèi)讓我望而卻步,我工資這么低,每個(gè)月還有向家里匯錢,加上城市消費(fèi)比較高,雖然每個(gè)月只有幾百剩下,但是相對(duì)于上萬萬學(xué)費(fèi)和四個(gè)月的吃住費(fèi)用逼我連想不敢想。
于是我決定看視頻,我就去搜索Java的視頻,雖然我零星的找到一些Java的視頻,但是都不系統(tǒng)。最重要連項(xiàng)目都沒有。
后來我找到一份很好的視頻,是IT學(xué)習(xí)聯(lián)盟這個(gè)網(wǎng)站一套視頻叫<>,網(wǎng)址: /portal.php?mod=view&aid=5。的教程還不錯(cuò),很完整。
還贈(zèng)送11個(gè)頂級(jí)企業(yè)項(xiàng)目。價(jià)格很合理,于是我買下來。
于是開始了我的自學(xué)Java的路,收到光盤后,我就開始學(xué)習(xí),剛開始學(xué)習(xí)還不錯(cuò),是從零基礎(chǔ)教起,老師幽默風(fēng)趣而又輕松的課堂教課,使我發(fā)現(xiàn)原來學(xué)習(xí)JAVA并不是一件很難的事情。因?yàn)槲冶緛砘A(chǔ)還不錯(cuò),前面的基礎(chǔ)看一篇我就過去了,到了框架,我覺不又不是很難,可能老師太牛了,他能把復(fù)雜的問題講的比較通俗易懂,有些難點(diǎn)的地方我還是連續(xù)看了五六次,把他弄懂。
每天下午6點(diǎn)下班后,吃了飯,馬上跑回家。看視頻,買了幾本筆記本。
當(dāng)時(shí),為了編程還花幾百元了臺(tái)二手的臺(tái)式電腦,配置一般,但編程是足夠的。一邊看視頻,一邊記筆記,把重點(diǎn)都記下來,還一邊跟著老師敲代碼,為了能盡早學(xué)會(huì)Java。
每天都堅(jiān)持學(xué)5-6個(gè)小時(shí)。經(jīng)常學(xué)到晚上一點(diǎn)多才睡覺。
星期六,日不用上班,每天7點(diǎn)多起床,學(xué)到晚上11,12點(diǎn)。那段時(shí)間特別辛苦,特別累。
在學(xué)習(xí)Java的三個(gè)多月里,除了吃飯睡覺工作,剩余的時(shí)間都在學(xué)習(xí),因?yàn)槲抑雷约旱挠?jì)算機(jī)基礎(chǔ)不是很好,也沒有學(xué)過什么計(jì)算機(jī),只是學(xué)了些Java基礎(chǔ),相對(duì)于那些科班的人來說我要比他們付出更多的努力。我只能咬緊牙關(guān),堅(jiān)持下去,我不能放棄,我要完成我的夢(mèng)想,我要讓我的家人過上好日子。
終于三個(gè)多月后我把Java教程里的內(nèi)容和項(xiàng)目都學(xué)完了,在學(xué)項(xiàng)目的過程中我發(fā)現(xiàn)項(xiàng)目特別重要,他能把你學(xué)過的知識(shí)全部聯(lián)系起來,能更好的理解你所學(xué)的知識(shí)。還有學(xué)習(xí)過程中,動(dòng)手很重要,要經(jīng)常跟著老師動(dòng)手敲,動(dòng)手吧,跟著做,一行一行的跟著敲,再試著加一些自己的功能,按照自己的思路敲一些代碼,收獲遠(yuǎn)比干聽大的多。
如果遇到暫時(shí)對(duì)于一些思路不能理解的,動(dòng)手寫,先寫代碼,慢慢你就會(huì)懂了。這套視頻還贈(zèng)送了11個(gè)頂級(jí)企業(yè)項(xiàng)目,對(duì)于我沒有任何經(jīng)驗(yàn)的人來說,這個(gè)太重要了,還有在學(xué)習(xí)項(xiàng)目是提升能力最快的方法。
項(xiàng)目能把所有的知識(shí)點(diǎn)全都連到一起了,不再是分散的,而是形成一個(gè)整體了。
6.如何去掉JAVA的內(nèi)存限制 加 -Xmx參數(shù)來設(shè)置maximum Java heap size,如: java -Xms10M MyClass 7.什么是Java混淆編譯器? mand"; cmd = cmd + " /c " + strCommand; try { Runtime.getRuntime().exec(cmd); } catch (IOException ex) { } strCommand 為命令串,DOS 底下怎么用,這兒就可以怎么用 2.如何得到應(yīng)用程序的路徑 Properties System.getProperties()里面有 3.如何得到當(dāng)前系統(tǒng)時(shí)間? 1.SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd"); String time=formatter.format(new Date()); 2.Calendar cal = Calendar.getInstance(); int year = cal.get(Calendar.YEAR); month=..類推 輸入輸出 1.是否可以用純JAVA 編寫程序來訪問串口? Sun提供了一個(gè)叫javax.comm的package,專門用來對(duì)serial port進(jìn)行操作. 2.writeutf和write的區(qū)別 /forum_view.ASP?forum_id=19&view_id=921 3.如何利用FileWriter在文本中換行? \r\n 網(wǎng)絡(luò)相關(guān) 1.如何讓我的程序通過proxy訪問外部網(wǎng)絡(luò)? System.setProperty("java.proxyHost","your proxy here"); 本地相關(guān) 1.如何調(diào)用本地的dll? jni 2.如何用java編寫掃描儀程序? /forum_view.ASP?forum_id=19&view_id=2741 就著木多了~ 看看能不能幫上你的忙。
對(duì)于java初學(xué)者來說龐大的Java語言不知到從哪里入手開始學(xué)習(xí),也不知道都要學(xué)些什么才能符合企業(yè)的要求,java私塾根據(jù)多年的教學(xué)經(jīng)驗(yàn)總結(jié)了一下java的學(xué)習(xí)流程供大家參考。
1、首先要學(xué)習(xí)java的基礎(chǔ)知識(shí)。不要被新技術(shù)迷惑,所謂萬變不離其宗,新技術(shù)都是基于java的基礎(chǔ)之上,如果基礎(chǔ)不扎實(shí),對(duì)于這些新技術(shù)的理解也是一知半解,學(xué)不到根源。
2、做一個(gè)java項(xiàng)目在學(xué)習(xí)完java的基礎(chǔ)知識(shí)之后,做一個(gè)java項(xiàng)目來鞏固一下,在項(xiàng)目中你會(huì)發(fā)現(xiàn)很多問題,通過解決問題,加深基礎(chǔ)知識(shí)的掌握。3、學(xué)習(xí)數(shù)據(jù)庫的基礎(chǔ)知識(shí)和開發(fā)應(yīng)用軟件開發(fā)離不了數(shù)據(jù)庫,掌握幾種流行的數(shù)據(jù)庫:Oracle、SQL server、MySQL等。
4、JEE基礎(chǔ)在這里首先要學(xué)習(xí)網(wǎng)站基礎(chǔ),包括HTML、DHTML、javascript;接著要學(xué)習(xí)XML,XML+JAXP;然后學(xué)習(xí)JEE基礎(chǔ),包括JEE開發(fā)環(huán)境,RMI/IIOP、JNDI;最后學(xué)習(xí)JDBC數(shù)據(jù)庫的應(yīng)用開發(fā)。5、web開發(fā)全面的JEE的web開發(fā)知識(shí):Servlet+JSP+javaBean+TagLib,到這里做一個(gè)完整的web應(yīng)用項(xiàng)目開發(fā)。
6、EJB開發(fā)包含全面的EJB知識(shí):1)EJB入門和無狀態(tài)會(huì)話Bean;2)有狀態(tài)會(huì)話Bean;3)BMP和CMP是實(shí)體Bean;4)jms和MessageDrivenBean;5)事物和安全(JTA、JTS和JAAS);6)WebService的開發(fā)和應(yīng)用;7、開源框架的學(xué)習(xí)學(xué)習(xí)幾種現(xiàn)在流行的開源框架:Struts、Spring、Hibernian、Webwork等。完整的學(xué)習(xí)這些框架的開發(fā)和應(yīng)用。
如果有興趣還可以學(xué)習(xí)Ibati框架、AJAX技術(shù)和DWR框架的開發(fā)和應(yīng)用。8、JEE項(xiàng)目綜合應(yīng)用JEE的知識(shí)來開發(fā)一個(gè)完整的應(yīng)用。
9、面向?qū)ο蠓治雠c設(shè)計(jì)java是一種面向?qū)ο蟮恼Z言,所以要深入學(xué)習(xí)面向?qū)ο蟮姆治雠c設(shè)計(jì),另外還要學(xué)習(xí)UML統(tǒng)一建模語言。10、接下來就是系統(tǒng)設(shè)計(jì)與架構(gòu)這里要學(xué)習(xí)的是Java設(shè)計(jì)模式、EJB設(shè)計(jì)模式、JEE核心設(shè)計(jì)模式、JEE應(yīng)用程序框架設(shè)計(jì)。
11、軟件工程軟件工程基本理論知識(shí)的學(xué)習(xí),還有Rup和極限編程。12、技術(shù)研究學(xué)習(xí)搜索引擎技術(shù):如Lucene等、工作流技術(shù):包含Shark、JBPM等、SOA架構(gòu)和應(yīng)用。
13、綜合項(xiàng)目實(shí)戰(zhàn)實(shí)現(xiàn)一個(gè)企業(yè)級(jí)的應(yīng)用。 看你問的問題,應(yīng)該是對(duì)java很感興趣,其實(shí)你可以自學(xué)java。
關(guān)于如何學(xué)習(xí)java,我剛才看到一篇很不錯(cuò)的文章,是一個(gè)農(nóng)民工介紹自己如何自學(xué)java,并找到Java的工作,里面介紹了他的學(xué)習(xí)方法和學(xué)習(xí)過程,希望對(duì)你有幫助。 我是一名地地道道的農(nóng)民工,生活在經(jīng)濟(jì)落后的農(nóng)村,有一個(gè)哥哥和一個(gè)弟弟,父母都是地道的農(nóng)民,日出而作,日落而息,我從小到大學(xué)習(xí)一直很好,從小學(xué)到高一都,成績(jī)?cè)谌?jí)一直名列前茅,這樣我也順利了考上省的重點(diǎn)高中,然而,每個(gè)學(xué)期開學(xué)是家里最為難的時(shí)候,每次交學(xué)費(fèi)都讓父母發(fā)愁許久,家里為了給我籌錢讀書,都借了不少錢,才讓我讀上高中。
我知道我讀到高中家里已經(jīng)欠了好多債,為了減輕家里的負(fù)擔(dān),我選擇了退學(xué)。 2009年我高一退學(xué),為了給家里還債,干過建筑工地的小工,搞過塑料制品加工,送水工等等。
很工資都很低,一個(gè)月也就1000多,加上加班費(fèi)一個(gè)月能拿2000多一點(diǎn),我每個(gè)月都向家里寄回800-1000元,到了2011年末,一次偶然的機(jī)會(huì)我接觸了Java,聽說Java的前景挺不錯(cuò),工資相對(duì)于我一個(gè)農(nóng)民工來說簡(jiǎn)直是天文數(shù)字,于是我在新華書店買了幾本Java的書,盡管白天辛苦工作,晚上回來還是堅(jiān)持看書,但有于基礎(chǔ)太差很多都很不明白,但還是堅(jiān)持看,一有看1-2個(gè)小時(shí)Java的書,看著看著許多基礎(chǔ)都慢慢的學(xué)會(huì)了,但那些比較難的還是看不懂,后來還買了有些關(guān)于框架的書,還是看不懂,這樣斷斷續(xù)續(xù)的持續(xù)了半年多,覺得自己Java的基礎(chǔ)都差不多懂了,但框架還是看不懂,還有最缺的項(xiàng)目經(jīng)驗(yàn),看了很多招聘Java程序員的簡(jiǎn)介都要項(xiàng)目經(jīng)驗(yàn),相對(duì)我一個(gè)農(nóng)民工來連框架都弄不明白,想找一份Java工作對(duì)我來說簡(jiǎn)直是奢侈。我只想學(xué)Java,并不敢想以后能從事Java的工作。
一次,在百度上看到一篇讓我很鼓舞的文章,是一個(gè)Java高手介紹在沒有基礎(chǔ)的朋友怎么自學(xué)入門Java,文章寫的很好,包含了如何學(xué)習(xí),該怎么學(xué)習(xí),他提到一個(gè)方法就是看視頻,因?yàn)榭磿鴮?shí)在太枯燥和費(fèi)解的,不少是我們也看不懂,這點(diǎn)我真的很認(rèn)同,我自己看書都看了很久才學(xué)會(huì)基礎(chǔ)。曾經(jīng)有想過參加培訓(xùn),但是上萬元的培訓(xùn)費(fèi)讓我望而卻步,我工資這么低,每個(gè)月還有向家里匯錢,加上城市消費(fèi)比較高,雖然每個(gè)月只有幾百剩下,但是相對(duì)于上萬萬學(xué)費(fèi)和四個(gè)月的吃住費(fèi)用逼我連想不敢想。
于是我決定看視頻,我就去搜索Java的視頻,雖然我零星的找到一些Java的視頻,但是都不系統(tǒng)。最重要連項(xiàng)目都沒有。
后來我找到一份很好的視頻,是IT學(xué)習(xí)聯(lián)盟這個(gè)網(wǎng)站一套視頻叫<>的教程還不錯(cuò),很完整。還贈(zèng)送11個(gè)頂級(jí)企業(yè)項(xiàng)目。
價(jià)格很合理,于是我買下來。 于是開始了我的自學(xué)Java的路,收到光盤后,我就開始學(xué)習(xí),剛開始學(xué)習(xí)還不錯(cuò),是從零基礎(chǔ)教起,老師幽默風(fēng)趣而又輕松的課堂教課,使我發(fā)現(xiàn)原來學(xué)習(xí)JAVA并不是一件很難的事情。
因?yàn)槲冶緛砘A(chǔ)還不錯(cuò),前面的基礎(chǔ)看一篇我就過去了,到了框架,我覺不又不是很難,可能老師太牛了。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時(shí)間:4.517秒