String类的转换功能
程序示例
/*
字符串的转换功能:
byte[] getBytes()
char[] toCharArray()
static String valueOf(char[] chs)
static String valueOf(int i)
String toLowerCase()
String toUpperCase()
String concat(String str)
*/
public class StringDemo8 {
public static void main(String[] args) {
String s = "HelloWorLD";
//byte[] getBytes()
//使用平台的默认字符集将此String编码为字节序列,将结果存储到新的字节数组中。
//把s中的每一个字符都通过ASCII码表转化为对应的数值,并将结果存入到新的字节数组中。
byte[] b1 = s.getBytes();
// System.out.println(b1); //[B@4554617c
//注意数组里面叫length属性,字符串里叫length方法
for(int i=0;i<b1.length;i++){
System.out.println(b1[i]);
}
System.out.println("***********************************");
//char[] toCharArray()
//将字符串转换成字符数组
//字符串 --> 字符数组
char[] c1 = s.toCharArray();
for(int i=0;i<c1.length;i++){
System.out.print(c1[i]);
}
//增强for循环,后面集合的时候会讲解,它是用来替代迭代器的。
// for(char c : c1){
// System.out.print(c);
// }
System.out.println();
System.out.println("***********************************");
//static String valueOf(char[] chs)
//将字符数组转换成字符串
String s1 = String.valueOf(c1);
System.out.println(s1);
System.out.println("***********************************");
//static String valueOf(int i)
//将int类型的数据转换成字符串类型
String s2 = String.valueOf(100); //100 -->"100"
System.out.println(s2); //100
System.out.println("***********************************");
//String toLowerCase()
//将字符串中的内容全部转换成小写
String s3 = s.toLowerCase();
System.out.println(s3); //helloworld
System.out.println("***********************************");
//String toUpperCase()
//将字符串中的内容全部转换成大写
String s4 = s.toUpperCase();
System.out.println(s4); //HELLOWORLD
System.out.println("***********************************");
//String concat(String str)
//将小括号中的字符串拼接到大字符串的后面
String s5 = s.concat("hadoop");
System.out.println(s5);//HelloWorLDhadoop
}
}
习题
/*
1:遍历获取字符串中的每一个字符
2:统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。(不考虑其他字符)
*/
public class StringDemo9 {
public static void main(String[] args) {
String s = "hadoopjavaMySQL12138";
//遍历获取字符串中的每一个字符
char[] chars = s.toCharArray();
for (int i = 0; i < chars.length; i++) {
System.out.print(chars[i]);
}
System.out.println();
//统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。(不考虑其他字符)
//定义三个变量统计三个结果
int bigCount = 0;
int smallCount = 0;
int numberCount = 0;
//遍历字符数组,得到每一个字符
for (int i = 0; i < chars.length; i++) {
char c = chars[i];
if (c >= 'A' && c <= 'Z') {
bigCount++;
} else if (c >= 'a' && c <= 'z') {
smallCount++;
} else if (c >= '0' && c <= '9') {
numberCount++;
}
}
//输出结果
System.out.println("大写字符的个数为:" + bigCount);//4
System.out.println("小写字符的个数为:" + smallCount);//11
System.out.println("数字字符的个数为:" + numberCount);//5
}
}
/*
需求:将一个字符串的首字母转成大写,其余字母转成小写
举例:"hADoopJava" ---> "Hadoopjava"
分析:
1、全部转成小写
2、获取第一个字符,转成大写
*/
public class StringDemo10 {
public static void main(String[] args) {
String s = "hADoopJava";
//将字符串中每一个字符转小写
String s1 = s.toLowerCase();
//获取第一个字符
String s2 = s1.substring(0, 1);
//将第一个字符转大写
String s3 = s2.toUpperCase();
//获取除第一个字符以外的字符串
String s4 = s1.substring(1);
//将转大写的字符与后面所有小写的进行拼接
String res = s3.concat(s4);
System.out.println(res);
System.out.println("************链式编程*************");
String res2 = s.substring(0, 1)
.toUpperCase()
.concat(s.substring(1).toLowerCase());
System.out.println(res2);
}
}