/*
*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编译不被通过呢?我测试了几遍,发现只有拉丁字母才能以八进制输出,请问大家,是这样的规律吗?
----------------解决方案--------------------------------------------------------
别吓我,咋没人回呢???
----------------解决方案--------------------------------------------------------
如果你想用编码输出,你完全可以这样赋值
char c=(char)66602;
----------------解决方案--------------------------------------------------------
谢谢你!
用char c = (char)066602的确能以八进制式输出。
还有一个问题没解决,请问:
程序中,我给char型变量 g 和 h 赋值时分别用了‘\u’‘\’两个前缀。
-------------------------
char g = '\u0050';//P换算成八进制为120
char h = '\120';//P
----------------------------
前缀'\u'代表十六进制,那么前缀'\'是代表八进制吗?
----------------解决方案--------------------------------------------------------
"\u"表示16进制??
\u没猜错应该是表示unicode编码。。。
----------------解决方案--------------------------------------------------------