当前位置:   article > 正文

JavaSE基础 多个字符串首字母大写其他字母小写的三种写法_java字符串首字母大写其他字母小写

java字符串首字母大写其他字母小写

本文介绍多种首字母大写,其他字母小写的方法

要求如下:

将字符串"goOd gooD stUdy dAy dAy up"每个单词的首字母转换成大写其余字母小写

第一种写法

  • 这种写法,主要为substring(), toUpperCase() 主要思想为截取和拼接
  1. public class Test01 {
  2. public static void main(String[] args) {
  3. String s = "goOd gooD stUdy dAy dAy up";
  4. //将原字符串按照空格切割,返回一个字符数组
  5. String[] split = s.split(" ");
  6. StringBuffer sb = new StringBuffer();
  7. //遍历字符串数组 ,第一种方法,将第一个字母和后面的字母用substring分割,再用toUpperCase()变为大写
  8. for (int i = 0; i < split.length; i++) {
  9. //将每次遍历的字符串用substring(0, 1)截取首字母,转为大写. substring(1,split[i].length())截取后面的字母, 转为小写,再拼接
  10. String ss = split[i].substring(0, 1).toUpperCase()+split[i].substring(1).toLowerCase();
  11. //StringBuffer拼接字符串
  12. sb.append(ss);
  13. //给字符串中添加空格
  14. sb.append(" ");
  15. }
  16. //输出结果
  17. System.out.println(sb.toString());
  18. }
  19. }

第二种写法

  • 这种写法的主要思想为把大写字母的字符单独拿出来,把字符变大写,用的是ch[0]-=32,和Character的toUpperCase()静态方法
  1. public class Test01 {
  2. public static void main(String[] args) {
  3. String s = "goOd gooD stUdy dAy dAy up";
  4. //先将字符串全部变为小写
  5. s = s.toLowerCase();
  6. //将原字符串按照空格切割,返回一个字符数组
  7. String[] split = s.split(" ");
  8. StringBuffer sb = new StringBuffer();
  9. for (int i = 0; i < split.length; i++) {
  10. //将字符串转为字符数组
  11. char[] ch = split[i].toCharArray();
  12. //使用ASCII表中的小写字母-32即为大写
  13. //ch[0]-=32;
  14. //ch[0]-=32; 可读性较差,直接用Character的包装类,来把字符转为大写
  15. ch[0] = Character.toUpperCase(ch[0]);
  16. //使String的构造方法新建一个匿名字符串
  17. sb.append(new String(ch));
  18. sb.append(" ");
  19. }
  20. //输出结果
  21. System.out.println(sb.toString());
  22. }
  23. }

第三种写法

  • 本方法的主要思想为,使用replace方法,将首字母替换为大写字母. String中,replace(s1, s2)的用法为,将s1,替换为s2
  1. public class Test01 {
  2. public static void main(String[] args) {
  3. String s = "goOd gooD stUdy dAy dAy up";
  4. //先将字符串全部变为小写
  5. s = s.toLowerCase();
  6. //将原字符串按照空格切割,返回一个字符数组
  7. String[] split = s.split(" ");
  8. StringBuffer sb = new StringBuffer();
  9. for (int i = 0; i < split.length; i++) {
  10. //使用字符串的replace方法
  11. //split[i].substring(0, 1)表示需要替换的首字母
  12. //split[i].substring(0, 1).toUpperCase())表示替换上的大写首字母
  13. String str = split[i].replace(split[i].substring(0, 1), split[i].substring(0, 1).toUpperCase());
  14. //StringBuffer拼接字符串
  15. sb.append(str);
  16. sb.append(" ");
  17. }
  18. //输出结果
  19. System.out.println(sb.toString());
  20. }
  21. }

三种写法的运行结果如下图所示:

  • 总结: 三种方法,分别用了:
  • substring(), toUpperCase()的方法
  • ch[0]-=32;ASCII码值减去32 的方法,Character的toUpperCase()静态方法
  • 字符串的replace(s1, s2)方法 
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/527291
推荐阅读
相关标签
  

闽ICP备14008679号