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();
}
}
