Open In App

java.lang.Character class methods | Set 1

Last Updated : 19 Sep, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

java.lang.Character class methods

lang.Character class wraps the value of a primitive data type – char to an object of datatype char and this object contains a single field having the data type – char. This class provides no. of methods regarding character manipulations like converting them from lowercase to uppercase. Character class is based on

Unicode

Standards to provide character information. Class Declaration:

public final class Character
extends Object
implements Serializable, Comparable

Following methods of Character class are discussed here :

1. charCount() :

java.lang.charCount() method uses Unicode point to return the number of char values to represent the argument char values. A Unicode code point is used for character values in the range between U+0000 and U+10FFFF and for 16-bit char values that are code units of the UTF-16 encoding. Syntax :

public static int charCount(int argchar)

Parameters :
argchar : char i.e. it's Unicode point to be counted

Return :
2 if the character is valid i.e. > or = to 0X1000(supplementary character); else 1

2. charValue() :

java.lang.charValue() method returns primitive character value of defined char Object. Syntax :

public char charValue()

Return :
primitive character value of defined char Object.

3. codePointAt() :

java.lang.Character.codePointAt(char[ ] array, int position) method returns Unicode Point of the character array present at the argumented position.

Syntax :

public static int codePointAt(char[] array, int position)

Parameters :
array : character array
position : array index of character whose Unicode Point value you need.

Return :
Unicode point of the character array present at the given position

Java code explaining use of charCount(), charValue(), codePointat() methods

JAVA




// Java program explaining Character class methods
// charCount(), charValue(), codePointat()
import java.lang.Character;
public class NewClass {
    public static void main(String[] args)
    {
        // Use of charCount() method
        int geek = 0x9999, // < 0x10000
            geek1 = 0x10000, // = 0x10000
            geek2 = 0x10001; // > 0x10000
 
        int check = Character.charCount(geek);
        int check1 = Character.charCount(geek1);
        int check2 = Character.charCount(geek2);
 
        if (check == 2) // Checking for geek
            System.out.println("Valid Character geek");
        else
            System.out.println("Invalid Character geek");
 
        if (check1 == 2) // Checking for geek1
            System.out.println("Valid Character geek1");
        else
            System.out.println("Invalid Character geek1");
 
        if (check2 == 2) // Checking for geek2
            System.out.println("Valid Character geek2");
        else
            System.out.println("Invalid Character geek2");
 
        System.out.println("");
 
        // Use of charValue() method
        Character m; // Character object m
 
        m = new Character('g'); // Assigning value g to m;
 
        char gfg;
        gfg = m.charValue();
        System.out.println("Primitive value of gfg : "
                           + gfg);
        System.out.println("");
 
        // Use of codePointAt()
        char[] arg = new char[] { 'g', 'e', 'e', 'k', 's' };
        int val, val1, position = 3;
 
        val = Character.codePointAt(arg, position);
        val1 = Character.codePointAt(arg, 0);
 
        System.out.println("Unicode code point at "
                           + position + " : " + val);
        System.out.println("Unicode code point at 0 : "
                           + val1);
    }
}


Output

Invalid Character geek
Valid Character geek1
Valid Character geek2

Primitive value of gfg : g

Unicode code point at 3 : 107
Unicode code point at 0 : 103

4. codePointBefore() :

java.lang.Character.codePointBefore(char[ ] array, int position) method returns Unicode Point of the character array present before the argumented position.

Syntax :

public static int codePointBefore(char[] array, int position)
or
public static int codePointBefore(char[] array, int position, int start)
Parameters :
array : character array
position : array index of character following the Unicode Point value you need.
start : start index of the character array
Return :
Unicode point of the character array present before the given position

5. codePointCount() :

java.lang.Character.codePointCount() method returns no. of Unicode Point of the sub-character array.

Syntax :

public static int codePointCount(char[] array, int start, int len)
Parameters :
array : character array
start : starting index of the array
length : length of the character sub-array
Return :
no. of Unicode Point of the sub-character array.
Exception :
--> NullPointerException
--> IndexOutOfBoundsException

6. compareTo() :

java.lang.Character.compareTo(Character argChar) method compares given character with argumented character.

Syntax :

public int compareTo(Character argChar)

Parameters :
argChar : character to be compared with

Return :
= 0 : if both characters are equal
> 0 : if given this character is greater
< 0 : if argumented character is greater

Java code explaining use of codePointBefore(), codePointCount(), compareTo() methods

JAVA




// Java program explaining Character class methods
// codePointBefore(), codePointCount(), compareTo()
import java.lang.Character;
public class NewClass
{
    public static void main(String[] args)
    {
        // Use of codePointBefore()
        char[] arg = new char[] { 'g', 'e', 'e', 'k', 's' };
        int position  = 4;
 
        int val = Character.codePointBefore(arg, position);
        int val1 = Character.codePointBefore(arg, 1);
        int val2 = Character.codePointBefore(arg, 3, 1);
 
        System.out.println( "Unicode code point before " + position +
                                                       " : " + val );
        System.out.println( "Unicode code point before 1 : " + val1 );
        System.out.println( "Unicode code point before 3 to 1 : "
                                                              + val2);
        System.out.println("");
 
        // Use of codePointCount()
        int count = Character.codePointCount(arg, 1,3 );
 
        System.out.println("No. of Unicode points : " + count);
        System.out.println("");
 
        // Use of compareTo()
        Character g1 = new Character('g');
        Character g2 = new Character('o');
 
        int check = g1.compareTo(g2);
        System.out.println("g1 < g2 : " + check);
        int check1 = g2.compareTo(g1);
        System.out.println("g2 > g1 : " + check1);
        int check2 = g2.compareTo(g2);
        System.out.println("g2 = g2 : " + check2);
    }
}


Output

Unicode code point before 4 : 107
Unicode code point before 1 : 103
Unicode code point before 3 to 1 : 101

No. of Unicode points : 3

g1 < g2 : -8
g2 > g1 : 8
g2 = g2 : 0

7. equals() :

java.lang.Character.equals() method compares the present char object with the argumented char object.

Syntax :

public boolean equals(Object charObj)

Parameters :
charObj : char object to compare with

Return :
true if both the objects are equal, else false.

8. getNumericValue() :

java.lang.Character.getNumericValue(char arg) method returns int value for the specific Unicode character. A – Z value ranges u0041 to u005A a -z value ranges u0061 to u007A

Syntax :

public static int getNumericValue(char arg)

Parameters :
arg : char value

Return :
int value for the specific Unicode character.
if Unicode value doesn't exists -1 is returned.

9. getType() :

java.lang.Character.getType(char arg) method identifies the general type of character A – Z value ranges u0041 to u005A a -z value ranges u0061 to u007A

Syntax :

public static int getType(char arg)

Parameters :
arg : char value

Return :
int value for the argumented character representing its general type category.

Java code explaining use of equals(), getNumericValue(), getType() methods

JAVA




// Java program explaining Character class methods
// equals(), getNumericValue(), getType()
import java.lang.Character;
public class NewClass
{
    public static void main(String[] args)
    {
        // Use of equals() method
        Character g1 = new Character('g');
        Character g2 = new Character('O');
 
        boolean check = g1.equals(g2);
        boolean check1 = g1.equals(g1);
        System.out.println("Are g and o equal? : " + check);
        System.out.println("Are g and g equal? : " + check1);
        System.out.println("");
 
        // Use of getNumericValue() method
        int c = Character.getNumericValue(g1);
        int c1 = Character.getNumericValue(g2);
        System.out.println("Int value for g : " + c);
        System.out.println("Int value for A : " + c1);
        System.out.println("");
 
        // Use of getType() method
        Character g3 = new Character('$');
        Character g4 = new Character('6');
 
        int r1 = Character.getType(g1);
        int r2 = Character.getType(g2);
        int r3 = Character.getType(g3);
        int r4 = Character.getType(g4);
 
        System.out.println("Type for lowercase : " + r1);
        System.out.println("Type for uppercase : " + r2);
        System.out.println("Type for currency  : " + r3);
        System.out.println("Type for numeric   : " + r4);
    }
}


Output

Are g and o equal? : false
Are g and g equal? : true

Int value for g : 16
Int value for A : 24

Type for lowercase : 2
Type for uppercase : 1
Type for currency  : 26
Type for numeric   : 9



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads