package practiceGO;
import java.util.Scanner;
/*
 * 3.输入一个字符串,统计该字符串中分别包含多少个数字,多少个字母,多少个其他字符
 */
public class Cto {
	public static void main(String[] args) {
        int englishCount = 0;// 英文字母个数
        int spaceCount = 0;// 空格个数
        int numCount = 0;// 数字个数
        int otherCount = 0;// 其他字符个数
        Scanner sc = new Scanner(System.in);
        System.out.println("请您输入一行字符:");
        String str = sc.nextLine();// 取得控制台输入的一行字符
        char[] ch = str.toCharArray();// 把取到的字符串变成一个char数组
        for (int i = 0; i < ch.length; i++) {
            if (Character.isLetter(ch[i])) {
                // 判断是否为字母
                englishCount++;
            } else if (Character.isSpaceChar(ch[i])) {
                // 判断是否为空格
                spaceCount++;
            } else if (Character.isDigit(ch[i])) {
                // 判断是否为数字
                numCount++;
            } else {
                // 以上都不是则认为是其他字符
                otherCount++;
            }
        }
        System.out.println("字母的个数:" + englishCount);
        System.out.println("数字的个数:" + numCount);
        System.out.println("空格的个数:" + spaceCount);
        System.out.println("其他字符的个数:" + otherCount);
    }
}

测试:

请您输入一行字符:
[email protected]
字母的个数:9
数字的个数:8
空格的个数:0
其他字符的个数:2
请您输入一行字符:
yeqc  @@@123456AAA
字母的个数:7
数字的个数:6
空格的个数:2
其他字符的个数:3

注:在java中有三个类负责对字符的操作:Character、String、StringBuffer。其中Character类是对单个字符进行操作,String是对一个字符序列的操作,StringBuffer是对一串字符进行操作。

    1.Character的声明

public final class Character extends Object implements Serializable,Comparable

    2.Character的构造方法

public Character (char){
}

    3.常用方法

toString()方法

    4.通常情况下,我们使用字符时,有时需要使用原始数据类型的字符

char ch = 'a';
char uniChar = '\u039A';
char[] charArray = {'a','b','c','d','e'};

    5.Character类提供了一些有用的类(即静态)方法操作字符。可以创建一个字符的字符构造的对象

Character ch1 = new Character('a');