concat,append,reserve(String类)
一 *string类的 成员方法 遍历数组中的字符 先把元素取出来 在+ "" 就是字符串
public class Test1 { public static void main(String[] args) { int[] arr = {1,2,3,4,5,6,7,8,9,10,11}; String str1 = append(arr); System.out.print(str1); } /** 定义方法 返回值类型String 参数 int[]*/ public static String append(int[] arr) { String str = ""; /** 首先要遍历数组*/ for (int i = 0; i < arr.length ; i++) { str =str+ arr[i] + ""; } return str; } }二、利用字符串的 concat(object) 方法进行 拼接
public class Tese3 { public static void main(String[] args) { int[] arr = {1,2,3}; System.out.println(reserve(arr)); } /** 字符串的反转 利用倒叙+拼接实现 */ public static String reserve(int[] arr){ String str = ""; /** 倒序遍历*/ for (int i = arr.length-1; i >= 0; i--) { str=str.concat(arr[i]+""); } return str; } }三、将Strng 转化为 StringBulid()可变字符 在 调用append(object )方法在 可变字符的后面直接追加
public class Test5 { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 6}; System.out.println(append(arr)); } public static String append(int[] arr) { /** 将"["的String 转化为StringBuild 可变类型*/ StringBuilder sb1 = new StringBuilder("["); /** 遍历出 数组中的字符*/ for (int i = 0; i <= arr.length - 1; i++) { if (i != arr.length - 1) { sb1 = sb1.append(arr[i]).append(", "); } else if (i == arr.length - 1) { sb1 = sb1.append(arr[i]).append("]"); } } return sb1.toString(); } }字符串的遍历: 查看API 文档 发现charArt(int index) 方法 可将数组中的字符遍历出来 ,也可将字符串中的字符在循环的过程中遍历出来
public class Test { public static void main(String[] args) { /** 调用charAt(index) 方法 获取指定索引处的 字符*/ String str = "Hello world"; for (int i = 0; i < str.length(); i++) { char ch = str.charAt(i); System.out.print(ch); } } }
public class Test3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个字符串"); String str1 = sc.next(); System.out.println(traverse(str1)); } /** 定义防范 返回值为string ,参数为String*/ public static String traverse(String str) { /** 调用字符串的charArt() 方法 循环遍历*/ String str2 = ""; for (int i = 0; i < str.length() ; i++){ str2=str2+str.charAt(i); } return str2; } }四、统计字符串中各种字符的多少 (大写,小写,数字的个数)
先将字符数串中的字符遍历出来 在判断字符在哪个区间 (当然是和字符比较啦)
public class Test4 { public static void main(String[] args) { System.out.println("请输入一个字符"); Scanner sc = new Scanner(System.in); String str = sc.next(); int count1 = 0, count2 = 0, count3 = 0; /** 直接用char 比较字符 ,首先是有把字符串 中的字符给遍历出来*/ for (int i = 0; i < str.length(); i++) { char ch = str.charAt(i); if (ch >= 'a' && ch <= 'z') { count1++; }else if(ch>='A'&&ch<='Z'){ count2++; }else if(ch>='0'&&ch<='9'){ count3++; } } System.out.println("大写字符有"+count1+"个"); System.out.println("小写字符有"+count2+"个"); System.out.println("数字字符有"+count3+"个"); } } // 基本数据类型 四类八种要牢记 并注意 当赋值不同时 会有自动类型转换 e.g. byte = '97'; //输出的结果是 字符a, 因为'97'不是int类型五、字符串的反转 reserve
1.倒序遍历字符串 拼接
public class Tese3 { public static void main(String[] args) { int[] arr = {1,2,3}; System.out.println(reserve(arr)); } /** 字符串的反转 利用倒叙+拼接实现 */ public static String reserve(int[] arr){ String str = ""; /** 倒序遍历*/ for (int i = arr.length-1; i >= 0; i--) { str=str.concat(arr[i]+""); } return str; } }2.将string 转成StringBuild 调用reserve 方法
public class Test3 { public static void main(String[] args) { System.out.println("请输入一个字符串"); Scanner sc = new Scanner(System.in); String str = sc.next(); String res1 = reserve1(str); System.out.println(res1); } /** 定义方法 用于反转*/ public static String reserve1(String str1){ StringBuilder sb = new StringBuilder(str1); sb.reverse(); return sb.toString(); } }