java11-5 String类的转换功能
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 }
何事都只需坚持..
难?
维熟尔。
LZL的自学历程...只需坚持