Java 有人能详细解释一下下面的代码吗?

Java 有人能详细解释一下下面的代码吗?,java,Java,这是我见过的第一个代码。我很好奇,当最后一行代码只使用ch[I]-“a”+“a”编写时,它是如何将从a到z的所有字符都变成大写的 该行: 由于大写字母与其小写形式之间存在常量差异,因此将ch[i]设置为其关联的大写字母 对于通信方式,线路可重新书写为: 通过添加此常量差,该行将生成小写字母的大写字符。您认为它的作用是什么?在简单的“a”-“z”字符范围内,“a”和“a”之间的差异与任何小写字母与其大写等效字母之间的差异相同。这还假设使用的字母所需大小写仅为字母。Java使用字符集的UTF-16字

这是我见过的第一个代码。我很好奇,当最后一行代码只使用ch[I]-“a”+“a”编写时,它是如何将从a到z的所有字符都变成大写的

该行:

由于大写字母与其小写形式之间存在常量差异,因此将ch[i]设置为其关联的大写字母

对于通信方式,线路可重新书写为:


通过添加此常量差,该行将生成小写字母的大写字符。

您认为它的作用是什么?在简单的“a”-“z”字符范围内,“a”和“a”之间的差异与任何小写字母与其大写等效字母之间的差异相同。这还假设使用的字母所需大小写仅为字母。Java使用字符集的UTF-16字符编码。与ASCII的任何相似之处都无关紧要。
if (ch[i] >= 'a' && ch[i] <= 'z') { 
    // Convert into Upper-case 
    ch[i] = (char)(ch[i] - 'a' + 'A'); 
} 
ch[i] = (char)(ch[i] - 'a' + 'A'); 
ch[i] = (char)(ch[i] + ('A' - 'a'));