在java上我定义了char c1='\212';运行结果是?
但是我把212换成是216;运行结果还是?
到底是为什么?
你试了吗?从200之后,都是?
是啊,是不行
@handsomedy:我是说,从200之后,都是问号。应该是特殊符号,显示不出来吧。
额,就是说我用的java调试平台显示不了??
@handsomedy: 这个我不太清楚,我网上找找。找到了,再给你答复。
@handsomedy: http://hi.baidu.com/love__shuai/item/8dc66de8f445c52d5b7cfb15你看下这篇文章。
好的谢谢我先看看
如果显示?可能是编码问题,控制台显示不出来就是?号,
就是说我写的代码有问题??
@handsomedy: 在Java中,char
类型的变量表示一个Unicode字符。当你定义一个char
变量并赋值为'\212'
时,它将被解释为八进制数212,对应的Unicode字符是小数点(.)。
以下是运行示例代码的结果:
public class Example {
public static void main(String[] args) {
char c1 = '\212';
System.out.println(c1);
}
}
输出结果是一个小数点(.)。
如果你将char
变量的值从'\212'
改为'\216'
,它将被解释为八进制数216,对应的Unicode字符是单引号(')。
以下是更改代码后的运行结果:
public class Example {
public static void main(String[] args) {
char c1 = '\216';
System.out.println(c1);
}
}
输出结果是一个单引号(')。
在Java中,字符类型(char)可以表示Unicode字符集中的字符。当您定义一个char类型的变量并将其赋值为'\212'时,它实际上表示的是八进制数212对应的Unicode字符。在Unicode字符集中,八进制212对应的字符是'Ò'。
因此,当您运行代码char c1 = '\212';
时,变量c1将存储字符'Ò'。
如果您将'\212'更改为'\216',它将表示八进制数216对应的Unicode字符。然而,Unicode字符集中没有八进制数216对应的字符,因此Java编译器会报错。
所以,无法将'\216'分配给char类型变量,因为它不是有效的Unicode字符编码。