J2se学习笔记一
?1.在命令行用set查看環(huán)境變量
2.set 變量名 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?可以查看變量設(shè)置情況(系統(tǒng)變量和用戶變量的相加) 3.set 變量名=變量取值 ? ? ? ? ? ? ?設(shè)置環(huán)境變量 4.set 變量名= ? (空) ? ? ? ? ? ? ? 取消環(huán)境變量設(shè)置 5.set 變量名=%變量名%;追加內(nèi)容 ? ? 追加方式設(shè)置環(huán)境變量 6.java -verbose ? ?詳細(xì)列出java裝載過(guò)程 7.java源文件的名字必須與用public修飾的類(lèi)名一致,且一個(gè)源文件中只能包含一個(gè)用public修飾的類(lèi) 8.set classpath=文件目錄 ? ? ? ? ? ? ?可在其他目錄下執(zhí)行此文件 9.set classpath=c:\myjava;. ? ? ? ? ? ? ?.代表當(dāng)前目錄,此時(shí)java虛擬機(jī)便可訪問(wèn)到要執(zhí)行的文件 10.classpath后面不能出現(xiàn)空格classpath 11,jdk幫助文檔,JAD反編譯命令行工具 ?frontend plus工具 12.x=(x+5)/6 ?可應(yīng)用于分頁(yè)原理 13.while(true) { x=(x+1)%10; ? ? ? 可以實(shí)現(xiàn)0~9之間的循環(huán) } 14.instanceof ? ? ? 例:"hello" instanceof string ?判斷是否為類(lèi)的對(duì)象 15.^異或(不同為真) ? ?&兩個(gè)條件都要與運(yùn)算 16.<<左移 (最低位補(bǔ)0) ? ? ? ?? 17.>>右移 (有符號(hào)最高位根據(jù)原來(lái)數(shù)據(jù)進(jìn)行補(bǔ)位,如果原來(lái)最高位為0,則補(bǔ)0; ? ? 無(wú)符號(hào)則最高位補(bǔ)0)(c語(yǔ)言右移總是在最高位補(bǔ)0,這就是c語(yǔ)言兼容性不好,不跨平臺(tái)的原因) ? ? ? ? ?? 18.>>>無(wú)符號(hào)右移(始終在最高位補(bǔ)0) 19.移位適用于byte,short,char,int,long 20.一個(gè)數(shù)左移n位,就是等于這個(gè)數(shù)乘以2的n次方,右移n為就是等于這個(gè)數(shù)除以2的n次方 21.用程序?qū)崿F(xiàn)2的n次方的算法:y=1<<n; 22.聲明數(shù)組時(shí)不能指定長(zhǎng)度如:int a[5]; ? ? ? ? 數(shù)組調(diào)用前必須初始化 23.空指針異常,如:int [] x; x=new int[100]; x=null; x[0]=100; 這個(gè)例子是錯(cuò)誤的。 24.java.util.Arrays.sort(數(shù)組名);//數(shù)組排序(此處為快速排序) 25.System.array.Copy(原數(shù)組名,從第n個(gè)開(kāi)始,目標(biāo)數(shù)組,目標(biāo)數(shù)組第n個(gè)開(kāi)始,拷貝n個(gè));//數(shù)組拷貝 26.==是比較引用變量的地址是否相同,如:String str1=new String("abc"); ? ?String str2=new String("abc"); ?此時(shí)str1==str2是錯(cuò)誤的。如果String str3=str1,則此時(shí)str3==str1是正確的。 如果是str1.equals(str2)則是正確的,equals是比較內(nèi)容。 27.匿名調(diào)用 ?new() 類(lèi)名().方法名() 28.字符串可以直接賦值傳遞 29.finalize()垃圾回收 ? System.gc();調(diào)用垃圾回收器函數(shù)finalize()方法 30.傳遞對(duì)象值會(huì)改變 31.對(duì)于靜態(tài)成員變量,我們可以通過(guò)類(lèi)名.靜態(tài)成員名 ? ?對(duì)象名.靜態(tài)成員名 來(lái)訪問(wèn)(靜態(tài)成員還可以在類(lèi)中被直接賦值) 32.非靜態(tài)方法可以調(diào)用靜態(tài)方法和非靜態(tài)方法 ? 靜態(tài)方法只能調(diào)用同類(lèi)中的靜態(tài)成員,不能調(diào)用非靜態(tài)成員 33.靜態(tài)方法不能引用this和super關(guān)鍵字 34.靜態(tài)代碼塊定義方式static{} ? 該塊優(yōu)先執(zhí)行 35.控制外類(lèi)創(chuàng)建對(duì)象,可將構(gòu)造函數(shù)用private修飾 ?此時(shí)外面是不能創(chuàng)建了,但還需在內(nèi)部創(chuàng)建一個(gè),此時(shí)可以在本類(lèi)中定義屬性處 通過(guò){ ?static ?類(lèi)名 ?對(duì)象名=new 類(lèi)名()}來(lái)創(chuàng)建 ? 此時(shí)可以再創(chuàng)建一個(gè)方法供外部訪問(wèn)調(diào)用實(shí)例對(duì)象 但方法必須是靜態(tài)的,如:public static ?類(lèi)名 getInstance() { return 對(duì)象名; } 36.凡是不許創(chuàng)建實(shí)例對(duì)象的大都都是靜態(tài)方法,就像main()函數(shù)一樣 37.外部類(lèi)不能訪問(wèn)內(nèi)部類(lèi)的成員,必須通過(guò)在方法中創(chuàng)建內(nèi)部類(lèi)的對(duì)象去調(diào)用 38.內(nèi)部類(lèi)用static修飾后相當(dāng)于外部類(lèi) 39.public classi Outer{ private int size; public class Inner{ private int size; public ?void dostuff(int size) { size++;//形參 this.size++;//內(nèi)部類(lèi)成員變量 Outer.this.size++;//外部類(lèi)變量 } } } 40.java幫助文檔注釋用/** 。。。。。。。。。。*/注釋 緊靠類(lèi)的前面加上文檔注釋 其中包含: 1.title標(biāo)題(類(lèi)名)<br> 2.Description描述類(lèi)所起作用,類(lèi)的功能<br> 3.Copyright版權(quán)<br> 4.Company公司<br> 5.@author 姓名 6.@version 版本 41.方法文檔注釋要緊挨著方法定義之前 需要注釋方法的功能說(shuō)明,方法的描述信息,可以使用類(lèi)似@的標(biāo)注參數(shù) 生成文檔的類(lèi)的類(lèi)型必須是用public修飾的 用javadoc生成java幫助文檔 ? javadoc -d 文件名 -版本 -作者 源文件 java只支持單繼承,不用許多繼承,可以有多重繼承 42.子類(lèi)繼承不到父類(lèi)的私有成員,子類(lèi)函數(shù)也不能訪問(wèn)父類(lèi)私有成員 43.final類(lèi)不能被繼承,final成員變量不能被賦值 而final方法就不能被覆蓋,在子類(lèi)中就不能被定義 44.final定義的常量可以在構(gòu)造函數(shù)方法中被賦值或者在聲明時(shí)直接賦值 45.Float.MAX_VALUE代表最大的浮點(diǎn)小數(shù) 46.接口中只能定義常量 ?接口中默認(rèn)常量為public static final 47.class 類(lèi)名implements 接口名 ? 接口中方法全為public屬性 48.類(lèi)中實(shí)例化接口中方法時(shí)必須加上public 49.命令行下dir列出當(dāng)前目錄下文件 ? ? ? ? ? ? ?del ?文件名 ? (刪除文件)? 50.對(duì)象名 instanceof 類(lèi)名 ? ? ? ?判斷對(duì)象是否是類(lèi)的實(shí)例 51.默認(rèn)的equals()方法在父類(lèi)中總是不相等的 52.類(lèi)中類(lèi)和匿名類(lèi)非常重要 53.throws Exception 為傳遞異常,拋出異常對(duì)象,如果函數(shù)名后加上了throws Exception則函數(shù)中不需使用try{} catch{}[ ffinally{}]語(yǔ)句 54.在try{}catch{}語(yǔ)句中如果用return,break提前返回,finally{}語(yǔ)句一樣被執(zhí)行,除非采用的是System.exit(0); 54.e.printStackTrace();打印出異常 55.父類(lèi)中沒(méi)有拋出的異常,子類(lèi)在覆蓋時(shí)不能增添新的異常,除非是異常類(lèi)本身或異常類(lèi)的子類(lèi),也就是異常類(lèi)只能比父類(lèi)少 56.package xxx.xxx1 ;在編譯時(shí)要將類(lèi)名.class文件拷貝到xxx/xxx1的目錄下 57.可以在編譯時(shí)用(javac -d . 源文件名)來(lái)創(chuàng)建目錄結(jié)構(gòu) 58.java在編譯時(shí)是順著classpath指定的路徑去搜索 59.不同包中源文件調(diào)用需要加上包名 ? ? ? ?如果在源文件開(kāi)頭加上import 包名.*則在調(diào)用其他類(lèi)是不需要加上完整的包名 60.編譯時(shí)出現(xiàn)找不到源文件時(shí),首先判斷類(lèi)名,包名,classpath 61.protected定義的方法不僅可以被本包種類(lèi)訪問(wèn),還可以被其他包種子類(lèi)訪問(wèn) 62.public定義的方法在所有包中的類(lèi)均可訪問(wèn) 63.jar命令生成jar文檔 ? ?如(jar -cvf 文件名.jar 需要壓縮的文件) 64.jar -tvf 文件名.jar[>1.txt] ? 顯示壓縮文件內(nèi)容[將顯示內(nèi)容重定向到1.txt中] 65.jar -xvf ?文件名.jar ? ?解壓文件 66.new Thread().start();表示線程開(kāi)始執(zhí)行————準(zhǔn)備就緒 67.Thread tt=new Thread();//創(chuàng)建一個(gè)線程對(duì)象 tt.setDaemon(true);//設(shè)置為后臺(tái)線程 tt.start();//啟動(dòng)線程 68.tt.join();l聯(lián)合線程 ?此函數(shù)必須拋出異常即: try{ tt.join()(10000);//后面(10000)代表子線程和主線程合并10s ? ? ? ? ? ? ? ? ? ? ? ? ?? } catch(Exception e) { } 69.Tread.sleep(10);線程睡眠10毫秒,此函數(shù)也許拋出異常,和tt.join();一樣//暫停線程 70.synchronized(任意類(lèi)型的類(lèi)成員對(duì)象)//實(shí)現(xiàn)多線程的獨(dú)木橋形式(線程同步語(yǔ)句) { 此處為線程執(zhí)行代碼塊; } 71.public ?synchronized void 函數(shù)名(){}//線程同步函數(shù),可以達(dá)到與同步語(yǔ)句一樣的效果。其監(jiān)視對(duì)象為this 72.監(jiān)視器對(duì)象.wait() ? ? 監(jiān)視器對(duì)象.notify() //喚醒 ?notifyAll ? ? //wait()需要try{}catch{}轉(zhuǎn)載于:https://blog.51cto.com/xxzjzsj/1175022
總結(jié)
- 上一篇: 七猫小说APP怎么样(如何看待七猫中文网
- 下一篇: 我是这样开始学编程的