java基礎十三

13.01_常見對象(StringBuffer類的概述)

  • A:StringBuffer類概述
    • 通過JDK提供的API,查看StringBuffer類的說明
    • 線程安全的可變字符序列
  • B: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));
    

相關面試題:

  1. StringBuffer 與 StringBuilder 的區別?
    因爲 StringBuilder sbuilder = ;是線程不安全的, 運行效率高, 如果一個字符串變量是在方法
    裏面定義, 這種情況只可能有一個線程訪問它, 不存在不安全的因素了, 則用 StringBuilder。
    如果要在類裏面定義成員變量, 並且這個類的實例對象會在多線程環境下使用, 那麼最好用
    StringBuffer。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章