Java.lang.Character.codePointBefore() Method



The java.lang.Character.codePointBefore(char[ ] a, int index) returns the code point preceding the given index of the char array.

If the char value at (index - 1) in the char array is in the low-surrogate range, (index - 2) is not negative, and the char value at (index - 2) in the char array is in the high-surrogate range, then the supplementary code point corresponding to this surrogate pair is returned. Otherwise, the char value at (index - 1) is returned.


Following is the declaration for java.lang.Character.codePointBefore() method

public static int codePointBefore(char[] a, int index)


  • a − the char array

  • index − the index following the code point that should be returned

Return Value

This method returns the Unicode code point value before the given index.


  • NullPointerException − if a is null.

  • IndexOutOfBoundsException − if the index argument is less than 1 or greater than the length of the char array.


The following example shows the usage of lang.Character.codePointBefore() method.

package com.tutorialspoint;

import java.lang.*;

public class CharacterDemo {

   public static void main(String[] args) {

      // create a char array c and assign values
      char[] c = new char[] { 'a', 'b', 'c', 'd', 'e' };

      // create and assign value to index
      int index  = 2;

      // create an int res
      int res;

      // assign result of codePointBefore on array c at index to res
      res = Character.codePointBefore(c, index);

      String str = "Unicode code point is " + res;

      // print res value
      System.out.println( str );

Let us compile and run the above program, this will produce the following result −

Unicode code point is 98