gpt4 book ai didi

java - 字符串中的字符减法

转载 作者:行者123 更新时间:2023-11-30 04:24:46 25 4
gpt4 key购买 nike

这是我试图弄清楚发生了什么的代码片段

String line = "Hello";
for (int i = 0; i < line.length(); i++) {
char character = line.charAt(i);
int srcX = 0;
if (character == '.') {
}else{
srcX = (character - '0') * 20;

System.out.println("Character is " + (character - '0') +" " + srcX);
}
}

执行该代码将导致此结果

Character is 24     480
Character is 53 1060
Character is 60 1200
Character is 60 1200
Character is 63 1260

一个字符减去字符串“0”怎么得到整数?系统从哪里得出 24,53,60,60,63 的答案?

最佳答案

您可以减去字符,因为 char 是整数类型。

字符的值是其代码点的值(或多或少,由于 Unicode 和 UTF-16 等原因,细节很棘手)。

当您从另一个字符中减去字符“0”时,实际上是在减去 48,即字符“数字零”的代码点。

例如,类似“5”-“0”的计算结果为 53 - 48 = 5。在将包含数字的字符串“转换”为数值时,您通常会看到这种模式。从“H”(其代码点为 72)这样的字符中减去“0”并不常见,但这是可能的,而且 Java 并不关心。它只是将字符视为整数。

关于java - 字符串中的字符减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16227078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com