一段JAVA程序不解?

来源:百度知道 编辑:UC知道 时间:2024/05/06 02:10:15
public class Test
{
public static void main(String[] args)
{
char c='\120';
System.out.println("c="+c);
}
}

输出结果是"P",为什么是8进制的结果?而不是十进制?如果把C初始值设为'\080'时(也就是数字以0开头)就会编译出错?谢谢解答了.

Java也提供转 义字符,以反斜杠(\)开头,将其后的字符转变为另外的含义,下? 列出了Java中的转义字符。

与C、C++不同,Java中的字符型数据是16位无符号型数据,它表 示Unicode集,而不仅仅是 ASCII集,例如\u0061表示ISO拉丁码的‘a’。

转义字符描述

\ddd 1到3位8进制数据所表示的字符(ddd)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

\uxxxx 1到4位16进制数所表示的字符(xxxx)

既然是八进制, 数字就只能从0-7了

加了\的代表八进制,这是java语法规定的!八进制最大只能是7,‘\080’当然错了,好比十进制最大只能是9,不知说明白没有?

上面那位老兄回答很正确.如果你想更好的理解它,有必要去看看C++,相信那对你有帮助。

个位高手,电脑爱好者,请加个群体,方便大家讨论和学习,谢谢了46595478