String類的操作的方法-am
阿新 • • 發佈:2018-11-26
- 1:字元和字串之間的方法
ps:系統方法的實現的部分,不要求記住(當然具體的實現的演算法可以檢視原始碼)
對於一個系統提供的方法我們需要關注的是,我們使用它幹什麼,輸入什麼(引數列表),名字是什麼(呼叫方法的名),返回值是什麼(處理的結果)。
//首先是將字元轉換為字串 public String(char[] value){}//構造方法,將所有字元組成的陣列轉換為字串。 public String(char[] value,int offset,int count)//將字串組成的資料的一部分轉換為字串。 //然後是得到字串中指定索引處的字元 public char charAt(int index){} //然後就是將字串轉換成一個字元陣列 的形式。 public char[] toCharArray()
- 練習上面的方法
package function1.it.cast01; /* * 要求:1練習使用構造方法和普通字元與字串的方法 */ public class CharString { public static void main(String[] args) { //1:返回指定位置處的字元 String str = "hello" ; System.out.println(str.charAt(4)); //2:將字串轉換成字元陣列的形式 char[] arrs = str.toCharArray() ; print(arrs); //3:通過構造方法,和轉換成字串陣列的方法將字母轉換成大寫 String result = convertUpper(arrs); System.out.println(result); } public static void print(char[] temp) { for(int x= 0 ;x<temp.length;x++) { System.out.print(temp[x]+","); } System.out.println(); } public static String convertUpper(char[] arr) { String str = "" ; for(int x= 0;x<arr.length;x++) { arr[x] -= 32; //這裡特別需要留意就是講字元轉換成小寫形式的自動的完成。 } str = new String(arr); return str ; } } o h,e,l,l,o, HELLO
//練習2:判斷一個字串是否全部是數字組成的 package function1.it.cast01; import java.util.Scanner; public class IsNumber { public static void main(String[] args) { Scanner scc = new Scanner(System.in) ; System.out.println("請你輸入一個字串,必須全部由數字組成"); String input = scc.nextLine() ; boolean result = isNumber(input) ; System.out.println("是否由數字組成:"+result); } public static boolean isNumber(String strs){ //判斷數字字元有一個特點就是'0'到'9之間' boolean flag =true ; char[] arrs = strs.toCharArray() ; for(int x = 0;x<arrs.length;x++) { if(!(arrs[x] >'0' && arrs[x] <'9')) { flag = false ; } } return flag ; } } 請你輸入一個字串,必須全部由數字組成 2312344342 是否由數字組成:true
上面的這個練習是使用了一個鍵盤輸入掃描函式,最關鍵的部分在判斷是否全部由數字組成的函式的小演算法部分。
這個小的演算法最重要部分1:使用了定義變數flag先指定正確,然後巧妙使用 “只要有一個字元不是數字字元,就將flag賦值為false,”最後返回判斷的結果。
tip:
判斷函式的定義的名字一般定義成 isxxx的形式, 函式 進入之後,立馬定義一個boolean flag ;根據判斷條件,恰當的初始化這個flag的值,然後對判斷的演算法使用if分支的條件語句進行判斷,修改這個定義的flag值。上面的例子中的數字字元在 '0' 到‘9’之間這樣 的判斷是非常方便的,避免了使用ASCII值的麻煩。