1. 程式人生 > 實用技巧 >開源——基於STM32的智慧語音聯網時鐘(程式)

開源——基於STM32的智慧語音聯網時鐘(程式)

  1. Object類
    1. 簡介:是所有類的直接或者間接父類,位於繼承樹的最頂層。假如沒有顯式extends某個類,預設繼承Object類,否則是間接繼承。Object類中的方法是所有類都具備的方法(因為繼承而來)。作為引數,可以接受任何物件,作為返回值,可以返回任何物件。
    2. toString() 返回型別和雜湊碼值的字串表示,不過滿足不了子類的需求(比如展示子類物件的屬性值),所以一般來講需要重寫
    3. hashcode() 返回該物件的雜湊碼值(根據物件地址使用hash演算法計算出來的int型別的數值,一般來講,一一對應,相同物件,相同雜湊碼值,不同物件,不同雜湊碼值)
    4. getClass() 返回當前物件的型別,用於判斷兩個引用中實際儲存物件型別是否一致
    5. equals() 預設實現為this==obj,比較兩個物件地址是否相同,一般來講,子類需要比較兩個物件的內容是否相同,所以也需要重寫
      1. 重寫步驟:比較兩個引用是否指向同一個物件
      2. 判斷obj是否為null
      3. 判斷兩個引用的指向的實際物件型別是否一致
      4. 強制型別轉換
      5. 依次比較各個屬性值是否相同
  2. Math類:常見的數學運算
  3. Random類:生成隨機數
  4. 包裝類:自1.5後,自動裝箱和拆箱
    1. 什麼是包裝類:八種基本資料型別所對應的類
      基本資料型別 包裝型別
      byte Byte
      short Short
      int Integer
      long Long
      float Float
      double Double
      boolean Boolean
      char Character
    2. 裝箱:基本資料型別-->包裝型別;拆箱:包裝型別-->基本資料型別
    3. 裝箱:
              Integer int1 = new Integer(10);
              Integer int2 = Integer.valueOf(10);
              Integer int3 = 10;
    4. 拆箱:
              int int4 = int1.intValue();
              int int5 = int2;
    5. 基本型別-->String:
              int
      int1 = 10; String int2 = int1 + ""; String int3 = Integer.toString(int1);
    6. String-->基本型別
              int int4 = Integer.parseInt(int3);
    7. Integer緩衝區:[-128,127]Integer物件已經被系統建立好了,放在緩衝區
  5. Date類:
    1. Date(大部分方法已經過時)
              Date date1 = new Date();       //獲取當前時間的Date物件
              long int1 = date1.getTime();   //date1時間距離1970年1月1日經過的毫秒數
    2. SimpleDateFormat
       1         //建立SimpleDateFormat物件,即時間顯示格式
       2         SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
       3         //建立Date
       4         Date date = new Date();
       5         //格式化date,即date變成字串
       6         String str = sdf.format(date);
       7         System.out.println(str);
       8         //解析str,即字串變成date
       9         Date date1 = sdf.parse(str);
      10         System.out.println(date1.toLocaleString());

    3. Calendar(推薦使用)
              Calendar calendar = Calendar.getInstance();       //建立Calendar物件
              int year = calendar.get(Calendar.YEAR);           //get方法,取出各個屬性
              int month = calendar.get(Calendar.MONTH);
              int day = calendar.get(Calendar.DAY_OF_MONTH);
              int hour = calendar.get(Calendar.HOUR);
              int minute = calendar.get(Calendar.MINUTE);
              int second = calendar.get(Calendar.SECOND);
              System.out.println(year+"年"+(month+1)+"月"+day+"日"+hour+":"+minute+":"+second);
      
              calendar.set(Calendar.YEAR,2000);                 //set方法,設定各個屬性
      
              calendar.add(Calendar.YEAR,1);            //add方法,增加或減少屬性的值(負數就是減少)
      
              Date date = calendar.getTime();                   //Calendar物件轉變為Date物件
              calendar.setTime(date);                           //Date物件轉變為Calendar物件

  6. String類,StringBuffer類,StringBuilder類
    1. String類:不可變性,字串字面值儲存在字串池中,可以共享
      1. length()
      2. charAt(int index)
      3. contains(String str)
      4. toCharArray()
      5. indexOf(String str) 查詢str首次出現的下標,若有,則返回該下標,若無,則返回-1
      6. lastIndexOf(String str) 查詢str最後一次出現的下標
      7. trim() 去掉字串前後的空格
      8. toUpperCase()
      9. endWith(String str)
      10. replace(char oldChar,char newChar)
      11. String[] split(String str) 根據str做拆分,比如Java is the best programming language用“ ”做拆分
      12. compare() 比大小
    2. StringBuffer類:可變長,相比StringBuilder,執行緒安全,效率慢(仍然比String高),適合多執行緒
    3. StringBuilder類:和StringBuffer唯一不同的是,執行緒不安全,效率高,適合單執行緒
  7. System類
    1. 獲取當前時間距離1970年毫秒數
      1         long start = System.currentTimeMillis();
      2         {
      3             //……
      4         }
      5         long end = System.currentTimeMillis();
      6         System.out.println("用時:"+(end-start));
    2. 退出
              System.exit(0);
              System.out.println("end");          //此句不執行