打印 UTF 的 For 循环不会终止

问题描述 投票:0回答:1

我对编码相当陌生,偶然发现了一个问题。

我想通过以下方式打印并查看字符及其数量:

for(char i = 20488; i <= 90000; i++) {
            int x = i;
            System.out.print(x + " = ");
            System.out.println(i);
        }

我结束之前的最后几个输出是:

7259 = ᱛ
7260 = ᱜ
7261 = ᱝ
7262 = ᱞ
7263 = ᱟ
7264 = ᱠ

问题出在哪里?

我预计所有内容都会打印到 90.000

java for-loop unicode char
1个回答
0
投票

您会注意到,如果您将此代码放入 IDE 中,或者通过启用了正确警告的编译器,您将收到此警告:

条件'i <= 90000' is always 'true'

它告诉您

char
不会像
90000
那么高。所以你的循环永远不会结束。

© www.soinside.com 2019 - 2024. All rights reserved.