ASCII 是一种将英文字母转换为数字的代码,因为这些数字可以转换为计算机能够理解的汇编语言。为此,我们为从 0 到 127 的每个字符分配了一个数字。字母是区分大小写的,小写和大写被视为不同的字符。虽然可以查阅完整的 ASCII 值表,但最好还是参考下图中的表格,这样就没有必要去背诵完整的 ASCII 值表。为了在不背诵整个表的情况下正确猜测 Unicode 值,我们分配了如下所示的边界值。利用这个表,我们可以提取所有字母的 Unicode,无论是大写还是小写。
图示:
必须记住的情况
—
大写字母的开始
大写字母的结束
小写字母的开始
小写字母的结束
由此,我们可以得出其他值的 Unicode,例如 B 是 66,因为小写字母的开始是 ‘a‘,如上表所示,‘A‘ 的值是 65。‘b‘ 则是 98。同理,‘G‘ 的 Unicode 是 71,‘E‘ 是 69,‘K‘ 是 75,以此类推。
当用户想要返回特定索引处的字符时,我们使用 codePointAt() 内置方法。这里的索引指的是字符值(Unicode 单元),范围从 0 到 length()-1。
定义: 这是一个内置函数,用于返回特定索引处的字符(Unicode 码点)。索引指的是字符值(Unicode 单元),范围从 0 到 length()-1。
语法:
java.lang.String.codePointAt();
参数: 指向字符值的索引。
返回类型: 此方法返回指定索引处的 Unicode 值。索引指的是 char 值(Unicode 代码单元),范围从 0 到 [length()-1]。 简单来说,用外行人的话讲,就是该索引处字符的码点值。
实现: 为了清楚地理解,我们讨论两个例子,其中一个例子涉及该函数可能引发的异常情况,另一个则仅仅展示了该函数的内部使用。
示例 1: 在这个示例中,我们未考虑上述方法会抛出的异常处理边缘情况。
Java
CODEBLOCK_7f1a3866
输出:
Original String : GEEKS
unicode point at 0 = 71
unicode point at 1 = 69
unicode point at 2 = 69
unicode point at 3 = 75
unicode point at 4 = 83
上述代码的时间复杂度为 O(n)。
现在让我们考虑一下这里涉及的异常概念,异常简单来说就是在运行期间出现的问题,它会中断程序的正常流程。异常可以分为两种类型:受检异常和非受检异常。受检异常可以被我们的编译器检测到,而非受检异常则不能被编译器检测到。为此,Java 中有异常处理技术来应对这些情况。现在我们来讨论该函数中的异常处理。有时,当尝试访问超出内存范围的索引时,会抛出异常。以下是关于 codePointAt() 方法中异常的概念性详情。同样,我们将讨论 IndexOutOfbound 异常的缺点,并为了处理它而使用 try-catch 技术。
示例 2:IndexOutOfBoundsException 是…