12.01_常見對象(Scanner的概述和方法介紹)
A:Scanner的概述
-
B:Scanner的構造方法原理
- Scanner(InputStream source)
- System類下有一個靜態的字段:
- public static final InputStream in; 標準的輸入流,對應著鍵盤錄入。
-
C:一般方法
- hasNextXxx() 判斷是否還有下一個輸入項,其中Xxx可以是Int,Double等。如果需要判斷是否包含下一個字符串,則可以省略Xxx
- nextXxx() 獲取下一個輸入項。Xxx的含義和上個方法中的Xxx相同,默認情況下,Scanner使用空格,回車等作為分隔符
12.02_常見對象(Scanner獲取數據出現的小問題及解決方案)
- A:兩個常用的方法:
- public int nextInt():獲取一個int類型的值
- public String nextLine():獲取一個String類型的值
- B:案例演示
- a:先演示獲取多個int值,多個String值的情況
- b:再演示先獲取int值,然后獲取String值出現問題
- c:問題解決方案
- 第一種:先獲取一個數值后,在創建一個新的鍵盤錄入對象獲取字符串。
- 第二種:把所有的數據都先按照字符串獲取,然后要什么,你就對應的轉換為什么。(后面講)
12.03_常見對象(String類的概述)
- A:什么是字符串
- B:String類的概述
通過JDK提供的API,查看String類的說明
-
可以看到這樣的兩句話。
- a:字符串字面值"abc"也可以看成是一個字符串對象。
- b:字符串是常量,一旦被賦值,就不能被改變。
- String s = "abcdef";
- s.subString(2,4);
12.04_常見對象(String類的構造方法)(掌握)
- A:常見構造方法
- public String():空構造
- public String(byte[] bytes):把字節數組轉成字符串
- public String(byte[] bytes,int index,int length):把字節數組的一部分轉成字符串
- public String(char[] value):把字符數組轉成字符串
- public String(char[] value,int index,int count):把字符數組的一部分轉成字符串
- public String(String original):把字符串常量值轉成字符串
- B:案例演示
演示String類的常見構造方法
public int length():返回此字符串的長度。
12.05_常見對象(String類的常見面試題)(掌握)
- 1.判斷定義為String類型的s1和s2是否相等
- String s1 = "abc";
- String s2 = "abc";
- System.out.println(s1 == s2);
- System.out.println(s1.equals(s2));
- 2.下面這句話在內存中創建了幾個對象?
- String s1 = new String("abc");
- 3.判斷定義為String類型的s1和s2是否相等
- String s1 = new String("abc");
- String s2 = "abc";
- System.out.println(s1 == s2); ?
- System.out.println(s1.equals(s2)); ?
- 4.判斷定義為String類型的s1和s2是否相等
- String s1 = "a" + "b" + "c";
- String s2 = "abc";
- System.out.println(s1 == s2); ?
- System.out.println(s1.equals(s2)); ?
- 5.判斷定義為String類型的s1和s2是否相等
- String s1 = "ab";
- String s2 = "abc";
- String s3 = s1 + "c";
- System.out.println(s3 == s2);
- System.out.println(s3.equals(s2)); ?
12.06_常見對象(String類的判斷功能)(掌握)
- A:String類的判斷功能
- boolean equals(Object obj):比較字符串的內容是否相同,區分大小寫
- boolean equalsIgnoreCase(String str):比較字符串的內容是否相同,忽略大小寫
- boolean contains(String str):判斷大字符串中是否包含小字符串
- boolean startsWith(String str):判斷字符串是否以某個指定的字符串開頭
- boolean endsWith(String str):判斷字符串是否以某個指定的字符串結尾
- boolean isEmpty():判斷字符串是否為空。
12.07_常見對象(模擬用戶登錄)
- A:案例演示
- 需求:模擬登錄,給三次機會,并提示還有幾次。
- 用戶名和密碼都是admin
12.08_常見對象(String類的獲取功能)(掌握)
- A:String類的獲取功能
- int length():獲取字符串的長度。
- char charAt(int index):獲取指定索引位置的字符
- int indexOf(int ch):返回指定字符在此字符串中第一次出現處的索引。
- int indexOf(String str):返回指定字符串在此字符串中第一次出現處的索引。
- int indexOf(int ch,int fromIndex):返回指定字符在此字符串中從指定位置后第一次出現處的索引。
- int indexOf(String str,int fromIndex):返回指定字符串在此字符串中從指定位置后第一次出現處的索引。
- lastIndexOf
- String substring(int start):從指定位置開始截取字符串,默認到末尾。
- String substring(int start,int end):從指定位置開始到指定位置結束截取字符串。
12.09_常見對象(字符串的遍歷)
- A:案例演示
- 需求:遍歷字符串
12.10_常見對象(統計不同類型字符個數)
- A:案例演示
- 需求:統計一個字符串中大寫字母字符,小寫字母字符,數字字符出現的次數,其他字符出現的次數。
12.11_常見對象(String類的轉換功能)
- A:String的轉換功能:
- byte[] getBytes():把字符串轉換為字節數組。
- char[] toCharArray():把字符串轉換為字符數組。
- static String valueOf(char[] chs):把字符數組轉成字符串。
- static String valueOf(int i):把int類型的數據轉成字符串。
- 注意:String類的valueOf方法可以把任意類型的數據轉成字符串。
* String toLowerCase():把字符串轉成小寫。
* String toUpperCase():把字符串轉成大寫。
* String concat(String str):把字符串拼接。
12.12_常見對象(按要求轉換字符)
- A:案例演示
- 需求:把一個字符串的首字母轉成大寫,其余為小寫。(只考慮英文大小寫字母字符)
12.13_常見對象(把數組轉成字符串)
- A:案例演示
- 需求:把數組中的數據按照指定個格式拼接成一個字符串
- 舉例:
- int[] arr = {1,2,3};
- 輸出結果:
- "[1, 2, 3]"
- 舉例:
- 需求:把數組中的數據按照指定個格式拼接成一個字符串
12.14_常見對象(String類的其他功能)
- A:String的替換功能及案例演示
- String replace(char old,char new)
- String replace(String old,String new)
- B:String的去除字符串兩空格及案例演示
- String trim()
- C:String的按字典順序比較兩個字符串及案例演示
- int compareTo(String str)(暫時不用掌握)
- int compareToIgnoreCase(String str)
12.15_常見對象(字符串反轉)
- A:案例演示
- 需求:把字符串反轉
- 舉例:鍵盤錄入"abc"
- 輸出結果:"cba"
- 需求:把字符串反轉
12.16_常見對象(在大串中查找小串出現的次數思路圖解)
- A:畫圖演示
- 需求:統計大串中小串出現的次數
- 這里的大串和小串可以自己根據情況給出
12.17_常見對象(在大串中查找小串出現的次數代碼實現)
- A:案例演示
- 統計大串中小串出現的次數