Java.lang.Character.codePointBefore() Method



The java.lang.Character.codePointBefore(char[ ] a, int index, int start) returns the code point preceding the given index of the char array, where only array elements with index greater than or equal to start can be used.

If the char value at (index - 1) in the char array is in the low-surrogate range, (index - 2) is not less than start, 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, int start)


  • a − the char array

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

  • start − the index of the first array element in the char array

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 not greater than the start argument or is greater than the length of the char array, or if the start argument is negative or not less 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
      char[] c = new char[] { 'A', 'b', 'C', 'd'};

      // create and assign value to index, start
      int index  = 3, start = 1;

      // create an int res
      int res;

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

      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 67