java如何区分字符是全角还是半角?

时间:2019-07-17 04:56:18

标签: java

这些代码具有相同的变量名,但唯一的区别是一种是全角,而另一种是半角。我很震惊,Java支持全角字符作为变量名。我想知道Java如何区分这两个字符。

public class Main {

    public static void main(String[] args) {
        int[] x = { 1, 2, 3 };
        int[] x = { 1, 2, 3 };
        int[] y = { 4, 5, 6 };
        int[] y = { 4, 5, 6 };
        int[] z = new int[x.length];
        int[] z = new int[x.length];
        for (int i = 0; i < z.length; i++) {
            z[i] = x[i] + y[i];
            z[i] = x[i] + y[i];
        }
        System.out.println(z);
        System.out.println(z);
    }
}

3 个答案:

答案 0 :(得分:4)

Java在源代码中支持Unicode,因此u'\uff58')与xu'x')有很大的不同

本质上不同的字符,与具有int[] aint[] b

相同

但是出于可读性考虑,这是一个巨大的问题。即使有两个不同的变量,另一个用户也很容易混淆这些名称。最好在源代码中尽可能以简单的形式坚持基本的拉丁字母。

答案 1 :(得分:2)

来自 Java教程线索学习Java语言,课程语言基础,主题Variables

  

变量名称区分大小写。变量的名称可以是任何合法的标识符-无限长度的Unicode字母和数字序列,以字母,美元符号“ $”或下划线字符“ _”开头。

因此,在Java代码中,您甚至可以在Klingon中写变量名

答案 2 :(得分:1)

我想您的源代码是以UTF-8(或其他“扩展”字符集)编码的,所以xx和x的代码不同(机器不在乎字符的图形表示,而是在内部代码)。