java11-5 String类的转换功能

时间:2021-08-12 00:32:40

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):把字符串拼接。

 public class StringTest1 {

 public static void main(String[] args) {
String s = "Java"; //byte[] getBytes():把字符串转换为字节数组。转为数组的话,就需要遍历
byte[] b = s.getBytes();
for(int x=0;x<s.length();x++){
System.out.println(b[x]);//转为ASCII码表
}
System.out.println("-------------"); //char[] toCharArray():把字符串转换为字符数组。转为数组的话,就需要遍历
char[] ca = s.toCharArray();
for(int x=0;x<s.length();x++){
System.out.println(ca[x]);
}
System.out.println("-------------"); //static String valueOf(char[] chs):把字符数组转成字符串。
String s1 = s.valueOf(ca);//调用上面形成的字符数组
System.out.println("valueOf: "+s1);
System.out.println("-------------"); //static String valueOf(int i):把int类型的数据转成字符串。
int i = 100;
String s2 = s.valueOf(i);
System.out.println("valueOf int: "+s2);//这里的100已经变为字符串了
System.out.println("-------------"); //String toLowerCase():把字符串转成小写。
String s3 = s.toLowerCase();//创建一个新的数组
System.out.println("toLowerCase:"+s3);
System.out.println("s:"+s);//s本身没变
//String toUpperCase():把字符串转成大写。
String s4 = s.toUpperCase();
System.out.println("toUpperCase:"+s4);
System.out.println("-------------"); //String concat(String str):把字符串拼接。
String ss1 = "Person";
String ss2 = "sleep";
String ss3 = ss1+ss2;//推荐这种,方便
System.out.println("第一种方式的拼接:"+ss3);
String ss4 = ss1.concat(ss2);
System.out.println("第二种方式的拼接:"+ss4); } } /*
需求:把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
分析:
A:截取字符串的第一个字母//保留String类型
B:截取剩下的字母//保留String类型
C:把A改成大写
D:把B改成小写
E:把C和D拼接起来
*/
public class StringTest2 { public static void main(String[] args) {
//定义一个字符串
String s = "Java SE"; //A:截取字符串的第一个字母//保留String类型
String A = s.substring(0,1);//获得的是String类型,方便以后的拼接
//int a = s.charAt(0); 这个方法获得的是ASCII码表,int类型 //B:截取剩下的字母//保留String类型
String B = s.substring(1); //C:把A改成大写
String C = A.toUpperCase(); //D:把B改成小写
String D = B.toLowerCase(); //E:把C和D拼接起来
String E = C+D;
System.out.println(E); //Java se //更便捷的做法,链式:
System.out.println(
s.substring(0,1).toUpperCase().
concat( s.substring(1).toLowerCase() )
); //Java se
} }

统计案例的改进版,键盘输入字符串:

 import java.util.Scanner;
public class StringTest3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in);
System.out.println("请输入你想统计的字符串:");
String line = sc.nextLine(); //调用TonJi方法
String result = TonJi(line);
System.out.println("这个字符串中含有的大写字母、小写字母、数字的个数分别是:"+result); } //建立方法:
// 返回类型:int 参数列表:String
public static String TonJi(String line){
//定义一个空的字符串
//String s1 = "";
//定义三个可能变量:
int bignum = 0;
int smallnum = 0;
int numbernum = 0;
//遍历字符串length()和CharAt()
for(int x=0;x<line.length();x++){
//CharAt()获取索引的元素
char ch = line.charAt(x);
//进行判断
if(ch>='a' && ch<='z'){
smallnum ++;
}
else if(ch>='A' && ch<='Z'){
bignum ++;
}
else if(ch>='0' && ch<='9'){
numbernum ++;
} }
String result1 = line.valueOf(bignum);
String result2 = line.valueOf(smallnum);
String result3 = line.valueOf(numbernum);
String result = result1+result2+result3;
//System.out.println("含有"+bignum+"个大写字母"+"含有"+smallnum+"个小写字母"+"含有"+numbernum+"个数字");
return result;
} }