標籤:
javaweb_Ⅰjava基礎增強——斷點
ps:Bad version number in .class file. 該錯誤 指eclipse運行環境低於編輯java版本。雙擊左鍵設定斷點,F5跳入方法中。step intoF6跳過。step overF7跳出方法 。step return查看變數值:右鍵watch。跳到當前方法的最開始。drop to frame跳到下一個斷點 /結束應用程式。 resume清除斷點breakpoint。斷點調試完成後,要在breakpoint中清除所有斷點斷點調試完成後,一定要記得結束運行斷點的jvm.
javaweb_Ⅱjava基礎增強——eclipse快速鍵Alt+/ 內容助理ctrl+1 快速修複ctrl+shift+o 導包ctrl+ shift+ f 格式化ctrl+左鍵:看方法代碼(源碼匯入點擊第三個)Alt+ 方向鍵:方法之間跳躍ctrl+shift+/ 加註釋或者\ 去注釋f2 查看方法說明
ctrl+alt+向下 複製行alt+向上/下 移動整行ctrl+T 查看繼承關係chrl+shift+T 查看原始碼
javaweb_Ⅲjava基礎增強——JUnit測試載入器
junit Type mismatch: cannot convert from Test to Annotation Type mismatch: cannot convert from Test to Annotation public class Test { @Test public void testConnection() { } }是因為類名字和測試方法名字相同
@Test//必須添加,通知程式使JUnit public void testRun () { Person p = new Person(); p .run (); }
@before每一個測試方法之前運行:初始化資源@after每一個測試方法之後運行:釋放資源 @beforeClass每一個測試方法類之前運行@afterClass每一個測試方法類之後運行 Assert 斷言Assert.assertEquals(期望的值,方法返回的值);
javaweb_Ⅳjava基礎增強——增強for迴圈
@Test public void test1() { int arr[] = { 1, 2, 3 }; for (int num : arr) { System.out.println(num); } } @Test public void test2() { List list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); for (Object object : list) { int i = (Integer) object; System.out.println(i); } } @Test public void test3() { Map map = new LinkedHashMap(); map.put("1", "aaa"); map.put("2", "aba"); map.put("3", "aac"); // 第一種方式 for (Object object : map.keySet()) { String key = (String) object; String value = (String) map.get(key); System.out.println(key + "=" + value); } //第二種方式 for (Object object : map.entrySet()) { Map.Entry entry = (Entry) object; String key = (String) entry.getKey(); String value = (String) entry.getValue(); System.out.println(key + "=" + value); } } /* * HashMap()通過hashmap的演算法實現 傳統map資料的取出方式 * 1 * Set set = map.keySet(); * Iterator it = set.iterator(); * while(it.hasNext()){ * String key = (String)it.next(); * String value = (String)map.get(key); * sys; * } * * 2 * * Set set = map.entrySet(); * Iterator it = set.iterator(); * while(it.hasNext()){ * Map.Entry entry = (Entry)it.next(); * String key =(String)entry.getKey(); * String value = (String)entry.getValue(); * sys; * } */
需要注意問題:
增強for迴圈只適合取資料。
javaweb_Ⅴjava基礎增強——枚舉
enum Grade{ //class A,B,C,D,E; //object} @Test public void testGrade () { System. out. println( Grade. A. getNum()); } @Test public void testChinaNum () { System. out. println( China. A. getNum()); System. out. println( China. B. chinaNum()); }//如何定義枚舉的建構函式/方法和欄位/去封裝更多的資訊。enum Grade { A ("100-90" ), B ("100-0090" ), C ("100-090" ), D ("100-900" ), E( "1000-90"); private String value ; private Grade( String value ) { this .value = value; }//私人建構函式,不允許隨便增加枚舉對象 public String getNum() { return this .value ; }//對外提供獲得枚舉對象的資訊}// 帶抽象方法的枚舉enum China { A ("100-90" ) { public String chinaNum() { return "優" ;//每一個枚舉對象需要實現抽象方法 }; }, B ("100-0090" ) { public String chinaNum() { return "優" ; }; }, C ("100-090" ) { public String chinaNum() { return "優" ; }; }, D ("100-900" ) { public String chinaNum() { return "優" ; }; }, E ("1000-90" ) { public String chinaNum() { return "優" ; }; }; private String value; private China( String value ) { this .value = value; } public String getNum() { return this .value ; } public abstract String chinaNum();//抽象方法}
注意事項: 枚舉類型的建構函式,必須為private 實現介面 有抽象方法,需要在建立對象時實現抽象方法
單態設計模式: 單態設計模式設計一個類enum A{//class A;//object}
javaweb >_< java基礎增強 ①