问题是:char型变量中能不能存贮一个中文汉字?为什么?
但我看答案有的是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的。
有的是一个char占16bit. 到底是字节还是位(bit).弄不懂?
但我看答案有的是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的。
有的是一个char占16bit. 到底是字节还是位(bit).弄不懂?
public static void main(String args[]) {
char a='a';
System.out.println(Integer.toBinaryString(a));
}输出
1100001
明白了吧 8位
public static void main(String args[]) {
char a='的';
System.out.println(Integer.toBinaryString(a));
}111011010000100
16位
简单的说,Java中的char可以存储16个bit,一个汉字在unicode下也就2个字节(16个bit),所以存储是完全没问题的。
public class Chars {
public static void main(String args[]) {
char a = 'a';
char b ='\u0061';
char c = '鱼';
char d ='\u9c7c';
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
/*
//结果:
a
a
鱼
鱼
*/
public static void main(String args[]) {
char a = 'a';
char b ='\u0061';
char c = '鱼';
char d ='\u9c7c';
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
/*
//结果:
a
a
鱼
鱼
*/
}
}
在下佩服.
char x='中'
是可以的,各位兄弟都说破嘴了.