示例
String类型提供了两种在大写和小写之间转换字符串的方法:toUpperCase 将所有字符转换为大写
toLowerCase 将所有字符转换为小写
这些方法都将转换后的字符串作为新String实例返回:原始String对象未修改,因为String在Java中是不变的。有关不可变性的更多信息,请参见此:Java中字符串的不可变性String string = "This is a Random String";
String upper = string.toUpperCase();
String lower = string.toLowerCase();
System.out.println(string); // prints "This is a Random String"
System.out.println(lower); // prints "this is a random string"
System.out.println(upper); // prints "THIS IS A RANDOM STRING"
这些方法不会影响非字母字符,例如数字和标点符号。请注意,在某些情况下,这些方法也可能会错误地处理某些Unicode字符。
注意:这些方法对语言环境敏感,并且如果用于意在独立于语言环境进行解释的字符串上,则可能会产生意外的结果。示例包括编程语言标识符,协议密钥和HTML标签。
例如,在土耳其语区域设置中返回“ ”,其中拉丁字母小写字母I字符在哪里。要获得对语言环境不敏感的字符串的正确结果,请将其作为参数传递给相应的大小写转换方法(例如或)。"TITLE".toLowerCase()tıtleı (\u0131)Locale.ROOTtoLowerCase(Locale.ROOT)toUpperCase(Locale.ROOT)
尽管使用Locale.ENGLISH在大多数情况下也是正确的,但语言不变的方式是Locale.ROOT。
需要特殊大小写的Unicode字符的详细列表可以在Unicode Consortium网站上找到。
更改ASCII字符串中特定字符的大小写:
要更改ASCII字符串的特定字符的大小写,可以使用以下算法:
步骤:声明一个字符串。
输入字符串。
将字符串转换为字符数组。
输入要搜索的字符。
在字符数组中搜索字符。
如果找到,请检查字符是小写还是大写。如果为大写,请在字符的ASCII代码中添加32。
如果为小写,请从字符的ASCII码中减去32。
从字符数组更改原始字符。
将字符数组转换回字符串。
瞧,字符的大小写被改变了。
该算法的代码示例为:Scanner scanner = new Scanner(System.in);
System.out.println("Enter the String");
String s = scanner.next();
char[] a = s.toCharArray();
System.out.println("输入要查找的字符");
System.out.println(s);
String c = scanner.next();
char d = c.charAt(0);
for (int i = 0; i <= s.length(); i++) {
if (a[i] == d) {
if (d >= 'a' && d <= 'z') {
d -= 32;
} else if (d >= 'A' && d <= 'Z') {
d += 32;
}
a[i] = d;
break;
}
}
s = String.valueOf(a);
System.out.println(s);