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