Character类中的其他一些静态方法,用来进行字符分类、大小写转换
public static boolean isDigit(char ch) // 确定指定字符是否为数字
public static boolean isLetter(char ch) // 确定指定字符是否为字母
public static boolean isLowerCase(char ch) // 确定指定字符是否为小写字母
public static boolean isUpperCase(char ch) // 确定指定字符是否为大写字母
public static char toLowerCase(char ch) // 将字符参数转换为小写
public static char toUpperCase(char ch) // 将字符参数转换为大写
一、统计输入字符串中各种字符的数量
键盘输入字符串,大写字母,小写字母,数字,其他
/* 思路:
* 定义四个变量分别代表四种字符出现的次数
* 判断字符串中的字符,toCharArray()方法
* 遍历字符数组,判断字符种类,对应变量++
* */
public class Demo {
public static void main(String[] args) {
System.out.println("请输入一个字符串:");
Scanner sca = new Scanner(System.in);
String str = sca.nextLine();
char[] charArray = str.toCharArray();
int countUpper = 0;
int countLower = 0;
int countNumber = 0;
int countother = 0;
for (char c : charArray) {
if (Character.isUpperCase(c)) {
countUpper++;
} else if (Character.isLowerCase(c)) {
countLower++;
} else if (Character.isDigit(c)) {
countNumber++;
} else {
countother++;
}
}
System.out.println("大写字母有" + countUpper + "个");
System.out.println("小写字母有" + countLower + "个");
System.out.println("数字字符有" + countNumber + "个");
System.out.println("其他字符有" + countother + "个");
}
}
二、实现字符数组中各字符的大小写互换
for循环可以修改数组元素,foreach循环不能修改数组元素
char[] chs = {'A', 'b', '6'};
for (int i = 0; i < chs.length; i++) { // 普通for循环
if (Character.isLowerCase(chs[i])) {
chs[i] = Character.toUpperCase(chs[i]);
continue; // 跳过当前次循环
}
if (Character.isUpperCase(chs[i])) {
chs[i] = Character.toLowerCase(chs[i]);
}
}
System.out.println(chs); // aB6