1. 关于char占几个字节的问题
1.“字节”是byte,“位”是bit ;
2.1 byte = 8 bit ;
char 在Java中是2个字节。
Java采用unicode,2个字节(16位)来表示一个字符。
2. char的初始化
char是Java中的保留字,与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode。不过8位的ASCII码包含在Unicode中,是从0~127的。
但是English,School,Student根本不需要这么表示,所以它们其实采用ASCII码会更高效。这中间就存在一个权衡问题。
因为char是16位的,采取的Unicode的编码方式,所以char就有以下的初始化方式:
//字符,可以是汉字,因为是Unicode编码
char c = 'c';
//可以用整数赋值
char c = 十进制数,八进制数,十六进制数等等;
//用字符的编码值来初始化(\u为转义字符)
char c = '\u数字';
3. char类型赋值
char a = 'a'; //任意单个字符,加单引号。
char a = '中';//任意单个中文字,加单引号。
char a = 111;//整数。0~65535。十进制、八进制、十六进制均可。输出字符编码表中对应的字符。
注:char只能放单个字符。