1. 程式人生 > >階段01Java基礎day13常見物件02

階段01Java基礎day13常見物件02

13.01_常見物件(StringBuffer類的概述)

  • A:StringBuffer類概述
    • 通過JDK提供的API,檢視StringBuffer類的說明
    • 執行緒安全的可變字元序列
  • B:簡述安全問題
    • 執行緒安全效率低
  • C:StringBuffer和String的區別
    • String是一個不可變的字元序列
    • StringBuffer是一個可變的字元序列

13.02_常見物件(StringBuffer類的構造方法)

  • A:StringBuffer的構造方法:
    • public StringBuffer():無參構造方法
    • public StringBuffer(int capacity):指定容量的字串緩衝區物件
    • public StringBuffer(String str):指定字串內容的字串緩衝區物件
  • B:StringBuffer的方法:
    • public int capacity():返回當前容量。 理論值(不掌握)
    • public int length():返回長度(字元數)。 實際值
  • C:案例演示
    • 構造方法和長度方法的使用

13.03_常見物件(StringBuffer的新增功能)

  • A:StringBuffer的新增功能
    • public StringBuffer append(String str):
      • 可以把任意型別資料新增到字串緩衝區裡面,並返回字串緩衝區本身
    • public StringBuffer insert(int offset,String str):
      • 在指定位置把任意型別的資料插入到字串緩衝區裡面,並返回字串緩衝區本身

13.04_常見物件(StringBuffer的刪除功能)

  • A:StringBuffer的刪除功能
    • public StringBuffer deleteCharAt(int index):
      • 刪除指定位置的字元,並返回本身
    • public StringBuffer delete(int start,int end):
      • 刪除從指定位置開始指定位置結束的內容,並返回本身

13.05_常見物件(StringBuffer的替換和反轉功能)

  • A:StringBuffer的替換功能
    • public StringBuffer replace(int start,int end,String str):
      • 從start開始到end用str替換
  • B:StringBuffer的反轉功能
    • public StringBuffer reverse():
      • 字串反轉

13.06_常見物件(StringBuffer的擷取功能及注意事項)

  • A:StringBuffer的擷取功能
    • public String substring(int start):
      • 從指定位置擷取到末尾
    • public String substring(int start,int end):
      • 擷取從指定位置開始到結束位置,包括開始位置,不包括結束位置
  • B:注意事項
    • 注意:返回值型別不再是StringBuffer本身

13.07_常見物件(StringBuffer和String的相互轉換)

  • A:String -- StringBuffer
    • a:通過構造方法
    • b:通過append()方法
  • B:StringBuffer -- String
    • a:通過構造方法
    • b:通過toString()方法
    • c:通過subString(0,length);

13.08_常見物件(把陣列轉成字串)

  • A:案例演示

    • 需求:把陣列中的資料按照指定個格式拼接成一個字串
    • 舉例:
          int[] arr = {1,2,3};    
      輸出結果:
          "[1, 2, 3]"
      
      用StringBuffer的功能實現
      

13.09_常見物件(字串反轉)

  • A:案例演示
  • 需求:把字串反轉
        舉例:鍵盤錄入"abc"        
        輸出結果:"cba"
    
    用StringBuffer的功能實現  
    

13.10_常見物件(StringBuffer和StringBuilder的區別)

  • A:StringBuilder的概述
    • 通過檢視API瞭解一下StringBuilder類
  • B:面試題

    • String,StringBuffer,StringBuilder的區別
    • StringBuffer和StringBuilder的區別
    • StringBuffer是jdk1.0版本的,是執行緒安全的,效率低
    • StringBuilder是jdk1.5版本的,是執行緒不安全的,效率高

    • String和StringBuffer,StringBuilder的區別

    • String是一個不可變的字元序列
    • StringBuffer,StringBuilder是可變的字元序列

13.11_常見物件(String和StringBuffer分別作為引數傳遞)

  • A:形式引數問題
    • String作為引數傳遞
    • StringBuffer作為引數傳遞
  • B:案例演示
    • String和StringBuffer分別作為引數傳遞問題

13.12_常見物件(陣列高階氣泡排序原理圖解)

  • A:畫圖演示
  • 需求:
        陣列元素:{24, 69, 80, 57, 13}
        請對陣列元素進行排序。
    
        氣泡排序
            相鄰元素兩兩比較,大的往後放,第一次完畢,最大值出現在了最大索引處
    

13.13_常見物件(陣列高階氣泡排序程式碼實現)

  • A:案例演示
    • 陣列高階氣泡排序程式碼

13.14_常見物件(陣列高階選擇排序原理圖解)

  • A:畫圖演示

    • 需求:

      • 陣列元素:{24, 69, 80, 57, 13}
      • 請對陣列元素進行排序。

      • 選擇排序

        • 從0索引開始,依次和後面元素比較,小的往前放,第一次完畢,最小值出現在了最小索引處

13.15_常見物件(陣列高階選擇排序程式碼實現)

  • A:案例演示
    • 陣列高階選擇排序程式碼

13.16_常見物件(陣列高階二分查詢原理圖解)

  • A:畫圖演示
    • 二分查詢
    • 前提:陣列元素有序

13.17_常見物件(陣列高階二分查詢程式碼實現及注意事項)

  • A:案例演示
    • 陣列高階二分查詢程式碼
  • B:注意事項
    • 如果陣列無序,就不能使用二分查詢。
      • 因為如果你排序了,但是你排序的時候已經改變了我最原始的元素索引。

13.18_常見物件(Arrays類的概述和方法使用)

  • A:Arrays類概述
    • 針對陣列進行操作的工具類。
    • 提供了排序,查詢等功能。
  • B:成員方法
    • public static String toString(int[] a)
    • public static void sort(int[] a)
    • public static int binarySearch(int[] a,int key)

13.19_常見物件(基本型別包裝類的概述)

  • A:為什麼會有基本型別包裝類
    • 將基本資料型別封裝成物件的好處在於可以在物件中定義更多的功能方法操作該資料。
  • B:常用操作
    • 常用的操作之一:用於基本資料型別與字串之間的轉換。
  • C:基本型別和包裝類的對應
  • byte            Byte
    short           Short
    int             Integer
    long            Long
    float           Float
    double          Double
    char            Character
    boolean         Boolean
    

13.20_常見物件(Integer類的概述和構造方法)

  • A:Integer類概述

    • 通過JDK提供的API,檢視Integer類的說明

    • Integer 類在物件中包裝了一個基本型別 int 的值,

    • 該類提供了多個方法,能在 int 型別和 String 型別之間互相轉換,
    • 還提供了處理 int 型別時非常有用的其他一些常量和方法
  • B:構造方法
    • public Integer(int value)
    • public Integer(String s)
  • C:案例演示
    • 使用構造方法建立物件

13.21_常見物件(String和int型別的相互轉換)

  • A:int -- String
    • a:和""進行拼接
    • b:public static String valueOf(int i)
    • c:int -- Integer -- String(Integer類的toString方法())
    • d:public static String toString(int i)(Integer類的靜態方法)
  • B:String -- int
    • a:String -- Integer -- int
      • public static int parseInt(String s)

13.22_常見物件(JDK5的新特性自動裝箱和拆箱)

  • A:JDK5的新特性
    • 自動裝箱:把基本型別轉換為包裝類型別
    • 自動拆箱:把包裝類型別轉換為基本型別
  • B:案例演示

    • JDK5的新特性自動裝箱和拆箱

    • Integer ii = 100;

    • ii += 200;
  • C:注意事項
    • 在使用時,Integer x = null;程式碼就會出現NullPointerException。
    • 建議先判斷是否為null,然後再使用。

13.23_常見物件(Integer的面試題)

  • A:Integer的面試題
  • 看程式寫結果
    
    Integer i1 = new Integer(97);
    Integer i2 = new Integer(97);
    System.out.println(i1 == i2);
    System.out.println(i1.equals(i2));
    System.out.println("-----------");
    
    Integer i3 = new Integer(197);
    Integer i4 = new Integer(197);
    System.out.println(i3 == i4);
    System.out.println(i3.equals(i4));
    System.out.println("-----------");
    
    Integer i5 = 97;
    Integer i6 = 97;
    System.out.println(i5 == i6);
    System.out.println(i5.equals(i6));
    System.out.println("-----------");
    
    Integer i7 = 197;
    Integer i8 = 197;
    System.out.println(i7 == i8);
    System.out.println(i7.equals(i8));