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):把字符串拼接。
1 public class StringTest1 {
2
3 public static void main(String[] args) {
4 String s = "Java";
5
6 //byte[] getBytes():把字符串转换为字节数组。转为数组的话,就需要遍历
7 byte[] b = s.getBytes();
8 for(int x=0;x<s.length();x++){
9 System.out.println(b[x]);//转为ASCII码表
10 }
11 System.out.println("-------------");
12
13 //char[] toCharArray():把字符串转换为字符数组。转为数组的话,就需要遍历
14 char[] ca = s.toCharArray();
15 for(int x=0;x<s.length();x++){
16 System.out.println(ca[x]);
17 }
18 System.out.println("-------------");
19
20 //static String valueOf(char[] chs):把字符数组转成字符串。
21 String s1 = s.valueOf(ca);//调用上面形成的字符数组
22 System.out.println("valueOf: "+s1);
23 System.out.println("-------------");
24
25 //static String valueOf(int i):把int类型的数据转成字符串。
26 int i = 100;
27 String s2 = s.valueOf(i);
28 System.out.println("valueOf int: "+s2);//这里的100已经变为字符串了
29 System.out.println("-------------");
30
31 //String toLowerCase():把字符串转成小写。
32 String s3 = s.toLowerCase();//创建一个新的数组
33 System.out.println("toLowerCase:"+s3);
34 System.out.println("s:"+s);//s本身没变
35 //String toUpperCase():把字符串转成大写。
36 String s4 = s.toUpperCase();
37 System.out.println("toUpperCase:"+s4);
38 System.out.println("-------------");
39
40 //String concat(String str):把字符串拼接。
41 String ss1 = "Person";
42 String ss2 = "sleep";
43 String ss3 = ss1+ss2;//推荐这种,方便
44 System.out.println("第一种方式的拼接:"+ss3);
45 String ss4 = ss1.concat(ss2);
46 System.out.println("第二种方式的拼接:"+ss4);
47
48
49 }
50
51 }
52
53 /*
54 需求:把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
55 分析:
56 A:截取字符串的第一个字母//保留String类型
57 B:截取剩下的字母//保留String类型
58 C:把A改成大写
59 D:把B改成小写
60 E:把C和D拼接起来
61 */
62 public class StringTest2 {
63
64 public static void main(String[] args) {
65 //定义一个字符串
66 String s = "Java SE";
67
68 //A:截取字符串的第一个字母//保留String类型
69 String A = s.substring(0,1);//获得的是String类型,方便以后的拼接
70 //int a = s.charAt(0); 这个方法获得的是ASCII码表,int类型
71
72 //B:截取剩下的字母//保留String类型
73 String B = s.substring(1);
74
75 //C:把A改成大写
76 String C = A.toUpperCase();
77
78 //D:把B改成小写
79 String D = B.toLowerCase();
80
81 //E:把C和D拼接起来
82 String E = C+D;
83 System.out.println(E); //Java se
84
85 //更便捷的做法,链式:
86 System.out.println(
87 s.substring(0,1).toUpperCase().
88 concat( s.substring(1).toLowerCase() )
89 ); //Java se
90 }
91
92 }
统计案例的改进版,键盘输入字符串:
1 import java.util.Scanner;
2 public class StringTest3 {
3
4 public static void main(String[] args) {
5
6 Scanner sc = new Scanner(System.in);
7 System.out.println("请输入你想统计的字符串:");
8 String line = sc.nextLine();
9
10 //调用TonJi方法
11 String result = TonJi(line);
12 System.out.println("这个字符串中含有的大写字母、小写字母、数字的个数分别是:"+result);
13
14 }
15
16 //建立方法:
17 // 返回类型:int 参数列表:String
18 public static String TonJi(String line){
19 //定义一个空的字符串
20 //String s1 = "";
21 //定义三个可能变量:
22 int bignum = 0;
23 int smallnum = 0;
24 int numbernum = 0;
25 //遍历字符串length()和CharAt()
26 for(int x=0;x<line.length();x++){
27 //CharAt()获取索引的元素
28 char ch = line.charAt(x);
29 //进行判断
30 if(ch>='a' && ch<='z'){
31 smallnum ++;
32 }
33 else if(ch>='A' && ch<='Z'){
34 bignum ++;
35 }
36 else if(ch>='0' && ch<='9'){
37 numbernum ++;
38 }
39
40 }
41 String result1 = line.valueOf(bignum);
42 String result2 = line.valueOf(smallnum);
43 String result3 = line.valueOf(numbernum);
44 String result = result1+result2+result3;
45 //System.out.println("含有"+bignum+"个大写字母"+"含有"+smallnum+"个小写字母"+"含有"+numbernum+"个数字");
46 return result;
47 }
48
49 }