为什么减去' a'

时间:2013-04-05 16:16:56

标签: java

有人可以解释这行代码的作用吗?

for(k=0; k < limit; k++)
{
    int index = s.charAt(k) - 'a';     <---> THIS LINE
}
t.myIsWord = true;

为什么 - 'a'?我不明白

2 个答案:

答案 0 :(得分:7)

它会将'a'转换为0,将'b'转换为1,将'c'转换为2,依此类推......

答案 1 :(得分:1)

int index = s.charAt(k) - 'a';

在Java中,char可以转换为int。每个角色都有一些int值,但是&#39; a&#39;是0和&#39; b&#39;是1.这些值是不同的(基于ASCII表中的位置)。

获得&#39;为0,&#39; b&#39;如1等,你需要减去&#39; a&#39;从给定的角色。

这就是这一行。