嘿所有,我刚开始尝试学习Java并遇到了令人困惑的事情!
我正在输入我正在使用的书中的一个例子.它是为了演示char数据类型.
代码如下:
public class CharDemo
{
public static void main(String [] args)
{
char a = 'A';
char b = (char) (a + 1);
System.out.println(a + b);
System.out.println("a + b is " + a + b);
int x = 75;
char y = (char) x;
char half = '\u00AB';
System.out.println("y is " + y + " and half is " + half);
}
}
Run Code Online (Sandbox Code Playgroud)
令我困惑的是声明,char half ='\ u00AB'.该书指出\ u00AB是符号"1/2"的代码.如上所述,当我从cmd编译并运行程序时,在此行上生成的符号实际上是'1/2'.
所以一切似乎都在起作用.我决定玩代码并尝试一些不同的unicodes.我搜索了多个unicode表,发现它们都不符合上述结果.
在每一个我发现它声明代码/ u00AB不是'1/2'并且事实上是这样的:
http://www.fileformat.info/info/unic...r/ab/index.htm 那么Java使用的字符集是什么,我认为UNicode应该就是那个,Uni,只有一个.我搜索了几个小时,无处可以找到状态/ u00AB等于1/2的字符集,但这是我的java编译器将其解释为.
我必须在这里遗漏一些明显的东西!谢谢你的帮助!