Character判断是否为特殊类型字符

在Java中,提供了多种方法用于Character类中判断字符类型的方法。

isDefined() 判断是否为 Unicode 字符

确定字符是否被定义为Unicode中的字符。

✍方法声明

public static boolean isDefined(char ch)

  • 📥入参:ch为要测试的字符。
  • 🪐返回值:如果字符具有为Unicode中字符定义的含义,则返回true;否则返false。

本示例通过isDefined()方法输出了字符是否被定义为Unicode中的字符的布尔值。

    public static void main(String[] args) {
        boolean bool1 = Character.isDefined('A');
        boolean bool2 = Character.isDefined('我');
        boolean bool3 = Character.isDefined('#');
        boolean bool4 = Character.isDefined('\uFFFF');
        System.out.println(bool1);
        System.out.println(bool2);
        System.out.println(bool3);
        System.out.println(bool4);
    }
true
true
true
false

✍方法声明

public static boolean isDefined(int codePoint)

  • 📥入参:codePoint为要测试的字符(Unicode代码点)。
  • 🪐返回值:如果字符具有为Unicode中字符定义的含义,则返回true;否则返false。

确定字符(Unicode代码点)是否被定义为Unicode中的字符。

下面代码通过isDefined()方法输出了代码点是否被定义为Unicode中的字符的布尔值。

    public static void main(String[] args) {
        boolean a = Character.isDefined(12);
        boolean b = Character.isDefined(123456);
        System.out.println("12 is defined " + a);
        System.out.println("123456 is defined " + b);
    }
12 is defined true
123456 is defined false

isDigit() 判断是否为数字字符

检测指定字符是否为数字。如果字符为数字,则返回true;否则返回false。

✍方法声明

public static boolean isDigit(char ch);

  • 📥入参:ch为要检测的字符。
  • 🪐返回值:如果字符为数字,则返回true;否则返回false。

此方法无法处理增补字符。若要支持所有Unicode字符,包括增补字特,请使用isDigit(int)方法。

    public static void main(String[] args) {
        boolean b1 = Character.isDigit('5');
        boolean b2 = Character.isDigit('K');
        System.out.println(b1);
        System.out.println(b2);
    }
true
false

✍方法声明

判断指定字符(Unicode代码点)是否为数字。如果通过getType(codePoint)提供的字符的常规类别类型为DECIMAL_DIGIT_NUMBER,则字符为数字。

public static boolean isDigit(int codePoint);

  • 📥入参:codePoint为要测试的字符(Unicode代码点)。
  • 🪐返回值:如果字符为数字,则返回true;否则返回false。
    public static void main(String[] args) {
        boolean b1 = Character.isDigit(55);
        boolean b2 = Character.isDigit(77);
        System.out.println(b1);
        System.out.println(b2);
    }

这里的55实际上是 ‘6’,数字 77 代表的是‘M’。想要获取字符的Unicode代码点,可以通过方法 Character.codePointAt("M", 0);获得。

true
false

isLetter() 判断是否为字母字符

该方法用于判断参数字符是否为字母。

✍方法声明

public static boolean isLetter(char ch)

  • 📥入参:ch为要测试的字符。
  • 🪐返回值:如果字符为字母,则返回true;否则返回false。
    public static void main(String[] args) {
        boolean b1 = Character.isLetter('5');
        boolean b2 = Character.isLetter('K');
        System.out.println(b1);
        System.out.println(b2);
    }
false
true

✍方法声明

该方法用于判断参数字符(Unicode代码点)是否为字母。

public static boolean isLetter(int codePoint);

  • 📥入参:codePoint为要测试的字符(Unicode代码点)。
  • 🪐返回值:如果字符为字母,则返回true;否则返回false。
    public static void main(String[] args) {
        // get unicode codepoint
        int five = Character.codePointAt("5", 0);
        int kg = Character.codePointAt("K", 0);
        System.out.println(five);
        System.out.println(kg);

        boolean b1 = Character.isLetter(53);
        boolean b2 = Character.isLetter(75);
        System.out.println(b1);
        System.out.println(b2);
    }
53
75
false
true

isLowerCase() 判断是否为小写字符

该方法用于判断指定字符是否为小写字母。

✍方法声明

public static boolean isLowerCase(char ch)

  • 📥入参:ch为要测试的字符。
  • 🪐返回值:如果字符为小写,则返回true;否则返回false。

下面代码通过Character类的isLowerCase()方法,判断字符是否为小写字母,并将结果输出。

    public static void main(String[] args) {
        boolean b1 = Character.isLowerCase('M');
        boolean b2 = Character.isLowerCase('a');
        boolean b3 = Character.isLowerCase('5');
        System.out.println(b1);
        System.out.println(b2);
        System.out.println(b3);
    }
false
true
false

isUpperCase() 判断是否为大写字符

该方法用于判断指定字符是否为大写字母。

✍方法声明

public static boolean isUpperCase(char ch);

  • 📥入参:ch为要测试的字符。
  • 🪐返回值:如果字符为大写字母,则返回true;否则返回false。

本示例通过Character类的isUpperCase()方法,判断字符是否为大写字母,并将结果输出。

    public static void main(String[] args) {
        boolean b1 = Character.isUpperCase('M');
        boolean b2 = Character.isUpperCase('a');
        boolean b3 = Character.isUpperCase('5');
        System.out.println(b1);
        System.out.println(b2);
        System.out.println(b3);
    }
true
false
false

📝总结

💡 Character类提供了多种静态方法来检查字符的类别,包括是否为定义的字符、数字、字母、小写字母或大写字母。
💡 这些方法通常接受char类型的参数,但有些方法也有重载版本可以接受int类型的Unicode代码点。
💡 使用这些方法时,应注意参数的类型和方法的返回值,以确保正确地判断字符的类别。

转载请注明出处:码谱记录 » Character判断是否为特殊类型字符
标签: