本文介紹多種首字母大寫,其他字母小寫的方法
要求如下:
將字符串"goOd gooD stUdy dAy dAy up"每個(gè)單詞的首字母轉(zhuǎn)換成大寫其余字母小寫
第一種寫法
- 這種寫法,主要為substring(), toUpperCase() 主要思想為截取和拼接
public class Test01 {
public static void main(String[] args) {
String s = "goOd gooD stUdy dAy dAy up";
//將原字符串按照空格切割,返回一個(gè)字符數(shù)組
String[] split = s.split(" ");
StringBuffer sb = new StringBuffer();
//遍歷字符串?dāng)?shù)組 ,第一種方法,將第一個(gè)字母和后面的字母用substring分割,再用toUpperCase()變?yōu)榇髮? for (int i = 0; i < split.length; i++) {
//將每次遍歷的字符串用substring(0, 1)截取首字母,轉(zhuǎn)為大寫. substring(1,split[i].length())截取后面的字母, 轉(zhuǎn)為小寫,再拼接
String ss = split[i].substring(0, 1).toUpperCase()+split[i].substring(1).toLowerCase();
//StringBuffer拼接字符串
sb.append(ss);
//給字符串中添加空格
sb.append(" ");
}
//輸出結(jié)果
System.out.println(sb.toString());
}
}
第二種寫法
- 這種寫法的主要思想為把大寫字母的字符單獨(dú)拿出來,把字符變大寫,用的是ch[0]-=32,和Character的toUpperCase()靜態(tài)方法
public class Test01 {
public static void main(String[] args) {
String s = "goOd gooD stUdy dAy dAy up";
//先將字符串全部變?yōu)樾? s = s.toLowerCase();
//將原字符串按照空格切割,返回一個(gè)字符數(shù)組
String[] split = s.split(" ");
StringBuffer sb = new StringBuffer();
for (int i = 0; i < split.length; i++) {
//將字符串轉(zhuǎn)為字符數(shù)組
char[] ch = split[i].toCharArray();
//使用ASCII表中的小寫字母-32即為大寫
//ch[0]-=32;
//ch[0]-=32; 可讀性較差,直接用Character的包裝類,來把字符轉(zhuǎn)為大寫
ch[0] = Character.toUpperCase(ch[0]);
//使String的構(gòu)造方法新建一個(gè)匿名字符串
sb.append(new String(ch));
sb.append(" ");
}
//輸出結(jié)果
System.out.println(sb.toString());
}
}
第三種寫法
- 本方法的主要思想為,使用replace方法,將首字母替換為大寫字母. String中,replace(s1, s2)的用法為,將s1,替換為s2
public class Test01 {
public static void main(String[] args) {
String s = "goOd gooD stUdy dAy dAy up";
//先將字符串全部變?yōu)樾? s = s.toLowerCase();
//將原字符串按照空格切割,返回一個(gè)字符數(shù)組
String[] split = s.split(" ");
StringBuffer sb = new StringBuffer();
for (int i = 0; i < split.length; i++) {
//使用字符串的replace方法
//split[i].substring(0, 1)表示需要替換的首字母
//split[i].substring(0, 1).toUpperCase())表示替換上的大寫首字母
String str = split[i].replace(split[i].substring(0, 1), split[i].substring(0, 1).toUpperCase());
//StringBuffer拼接字符串
sb.append(str);
sb.append(" ");
}
//輸出結(jié)果
System.out.println(sb.toString());
}
}
三種寫法的運(yùn)行結(jié)果如下圖所示:
- 總結(jié): 三種方法,分別用了:
- substring(), toUpperCase()的方法
- ch[0]-=32;ASCII碼值減去32 的方法,Character的toUpperCase()靜態(tài)方法
- 字符串的replace(s1, s2)方法