printf为同一变量显示不同的值

13 java numbers

我在网上找到了这个代码,编译时打印出5和10:

int numb?r = 5;
int number = 10;
System.out.printf("Number one is %d and number two is %d.", numb?r, number);
Run Code Online (Sandbox Code Playgroud)

这怎么工作?!

it'*_*tch 39

Java支持Unicode字符,其中一个"数字"变量中的一个或多个字母是来自不同字母的unicode字母,您可以通过复制粘贴这两个名称并尝试执行此操作来检查:

System.out.println("numb?r".equals("number"));
Run Code Online (Sandbox Code Playgroud)

它们看起来与肉眼相同,但它们不是,您的IDE将在控制台中显示为评估结果.亲自尝试一下.

编辑:

字母'e'是不同的,将它转换为int的输出是101和1077,如果你谷歌搜索"unicode 1077",以下链接是搜索引擎将向你抛出的众多内容之一:

http://www.codetable.net/decimal/1077

正如你所看到的那样,它是西里尔文小写字母'e'.

  • 互联网上的众多网站之一,只需搜索"unicode characters list":https://unicode-table.com/en/如果您认为我的帖子回答了您的问题,请在我的答案旁边勾选绿色的"NIKE"符号. (10认同)