/*
*Char型数据测试
*/
public class DataType
{
public static void main(String args[])
{
char g = '\u0050';//P换算成八进制为120
char h = '\120';//P
char e = '\u6D82';//涂,换算成八进制为66602
//char f = '\66602';//此句编译不被通过,提示语句未结束
System.out.println("UNICODE字母输出" + e);//输出涂
System.out.println("UNICODE字母输出" + g);//输出P
System.out.println("UNICODE字母输出" + h);//输出P
//System.out.println("UNICODE字母输出" + f);//错误
}
}
我的理解:
char型的变量 g 和 h 的值一个是以“\u”为前缀,一个是以“\”开头,后面的值也不一样,但输出的却是同一个大写字母P;后来我用计算器计算发现,将0050(十六进制)换算成八进制刚好等于120,那么我如法炮制,将十六进制的6D82(代表涂)换算成八进制为66602,这样为什么变量f编译不被通过呢?我测试了几遍,发现只有拉丁字母才能以八进制输出,请问大家,是这样的规律吗?