📜  Java String codePoint() 方法及示例

📅  最后修改于: 2022-05-13 01:55:25.394000             🧑  作者: Mango

Java String codePoint() 方法及示例

Java字符串由一组字符组成,每个字符都与一个 Unicode 点值(别名 ASCII 值)相关联。因此,要获取字符串中字符的 Unicode 点值,我们将使用codepoint()方法。

所以为了更进一步,我们需要知道每个字符的相关 Unicode 值是什么。

Letters

Unicode Values

Capital/Upper Case Letters (A-Z)

A-65, B-66, C-67,……., Y-89, Z-90

Small/Lower Case Letters(a-z)a-97, b-98, c-99,……., y-121, z-122

不仅字母而且符号、空白等都与一些 Unicode 点值相关联,例如空白是 32。

有 4 种类型的代码点方法可用。他们是-

  1. 代码点
  2. 代码点之前
  3. 码点计数
  4. offsetByCodePoints

让我们与语法和示例一起详细讨论它。

1.codePointAt()方法

此方法接受一个整数,该整数指定字符串中的索引值,并返回一个整数,该整数表示字符串中指定索引处的字符的 Unicode 点值。如果索引无效,则抛出 IndexOutOfBoundsException。

句法

stringVariable.codePointAt(index_value)

示例 1:

Java
// Java program to demonstrate
// the String codePointAt() Method
import java.io.*;
 
class GFG {
    public static void main(String[] args)
    {
        // initialization and declaration
        String str = "Geeks for Geeks";
       
        // finding codepoint value for character at index 1
        int e_codepoint = str.codePointAt(1);
        System.out.println(e_codepoint);
    }
}


Java
// Java program to demonstrate
// the String codePointAt() Method
import java.io.*;
 
class GFG {
    public static void main(String[] args)
    {
        // initialization and declaration
        String str = "Geeks for Geeks";
       
        // finding codepoint value for invalid index
        int e_codepoint = str.codePointAt(20);
        System.out.println(e_codepoint);
    }
}


Java
// Java program to demonstrate
// the String codePointBefore() Method
import java.io.*;
 
class GFG {
    public static void main(String[] args)
    {
        // initialization and declaration
        String str = "Geeks for Geeks";
 
        // finding codepoint value for character at index 0
        // index-1 (before)
        int G_codepoint = str.codePointBefore(1);
        System.out.println(G_codepoint);
    }
}


Java
// Java program to demonstrate
// the String codePointCount() Method
import java.io.*;
 
class GFG {
    public static void main(String[] args)
    {
        // initialization and declaration
        String str = "Geeks for Geeks";
       
        // finding  no of codepoint values
        // between specified indexes
        int codepoints_count = str.codePointCount(1, 5);
        System.out.println(codepoints_count);
    }
}


Java
// Java program to demonstrate
// the String offsetCodePoints() Method
import java.io.*;
 
class GFG {
    public static void main(String[] args)
    {
        // initialization and declaration
        String str = "Geeks for Geeks";
       
        // finding  index in a string that is
        // offset from specified index
        int index_byOffset = str.offsetByCodePoints(1, 5);
        System.out.println(index_byOffset);
    }
}


输出
101

解释:在索引 1 处我们有一个字母“e”。因此 codePointAt() 方法返回 e 的 unicode 代码点值。

示例 2:

Java

// Java program to demonstrate
// the String codePointAt() Method
import java.io.*;
 
class GFG {
    public static void main(String[] args)
    {
        // initialization and declaration
        String str = "Geeks for Geeks";
       
        // finding codepoint value for invalid index
        int e_codepoint = str.codePointAt(20);
        System.out.println(e_codepoint);
    }
}

输出

说明:这里的字符串大小为 15,但我们将索引值传递为 20,这超出了字符串的大小。它将被视为无效索引并引发错误。

2.codePointBefore()方法

此方法接受一个整数,该整数指定字符串中的索引值,并返回一个整数,该整数表示字符串中指定索引处之前字符的 Unicode 点值。如果索引无效,即如果传递的值小于 1 或大于字符串长度,则抛出 IndexOutOfBoundsException。

句法

stringVariable.codePointBefore(index_value)

代码

Java

// Java program to demonstrate
// the String codePointBefore() Method
import java.io.*;
 
class GFG {
    public static void main(String[] args)
    {
        // initialization and declaration
        String str = "Geeks for Geeks";
 
        // finding codepoint value for character at index 0
        // index-1 (before)
        int G_codepoint = str.codePointBefore(1);
        System.out.println(G_codepoint);
    }
}
输出
71

解释:我们传递的索引是 1,但是这里的方法是 codePointBefore,它从指定的索引 G 和它的 Unicode 代码点值 71 中找到前一个字符。

3.codePointCount()方法

此方法接受 2 个参数 start_index 和 end_index 并返回两个指定索引之间存在的 Unicode 代码点数。这里 start_index 是包容性的, end_index 是独占性的。如果任何无效索引作为参数传递,则会发生 IndexOutOfBoundException。

句法

stringVariable.codePointCount(start_index, end_index)

代码

Java

// Java program to demonstrate
// the String codePointCount() Method
import java.io.*;
 
class GFG {
    public static void main(String[] args)
    {
        // initialization and declaration
        String str = "Geeks for Geeks";
       
        // finding  no of codepoint values
        // between specified indexes
        int codepoints_count = str.codePointCount(1, 5);
        System.out.println(codepoints_count);
    }
}
输出
4

说明:在字符串 str 的 1 到 5 个索引位置之间有 4 个字母 - 'e'、'e'、'k'、's'。所以它返回 4 作为结果。

4. offsetByCodePoints() 方法

此方法接受 2 个参数作为参数,一个是索引值,另一个是 offset_value。 offsetByCodePoints 返回字符串中的索引值,该值与指定索引的偏移量为 offset_value。

句法

stringVariable.offsetByCodePoints(index_value, offset_value)

Java

// Java program to demonstrate
// the String offsetCodePoints() Method
import java.io.*;
 
class GFG {
    public static void main(String[] args)
    {
        // initialization and declaration
        String str = "Geeks for Geeks";
       
        // finding  index in a string that is
        // offset from specified index
        int index_byOffset = str.offsetByCodePoints(1, 5);
        System.out.println(index_byOffset);
    }
}
输出
6

说明:在本例中,offsetByCodePoints 从指定的 index:1 到 offset_value:5 返回一个索引,即 1+5=6。

这些都是与codePoint主题相关的所有方法。