Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么要减去';a';_Java - Fatal编程技术网

Java 为什么要减去';a';

Java 为什么要减去';a';,java,Java,有人能解释一下这行代码的作用吗 for(k=0; k < limit; k++) { int index = s.charAt(k) - 'a'; <---> THIS LINE } t.myIsWord = true; (k=0;k

有人能解释一下这行代码的作用吗

for(k=0; k < limit; k++)
{
    int index = s.charAt(k) - 'a';     <---> THIS LINE
}
t.myIsWord = true;
(k=0;k { int index=s.charAt(k)-‘a’;这一行 } t、 myIsWord=true;
为什么是-‘a’?我不明白

它把
'a'
转换成
0
'b'
转换成
1
'c'
转换成
2
等等

int index = s.charAt(k) - 'a';
在Java中,字符可以强制转换为int。每个字符都有一些int值,但“a”不是0,“b”不是1。这些值是不同的(基于ASCII表中的位置)

若要将“a”作为0,“b”作为1等,需要从给定字符中减去“a”


这就是此行的作用。

在调试器中运行它时,它的作用是什么?