char为字符型数据,储存单个字符,但阿拉伯数字、英文字母、标点符号等皆为字符型数据,占用字节看似错综复杂,但是char也为脱离计算机基本:二进制储存机制。
char本质上内存中皆存储字符编码,1-127为ASCII码,也就是常用的字符,但在计算机中储存的是这些字符的二进制形式:
而基本数据类型无非1字节,2字节,4字节,8字节,超出内存自会有异常,我们可以用大数储存抛异常的方式验证。
然而一字节有八个储存空间,每个空间只能储存1或0,按最大数计算,便全是1.那么一字节按二进制转十进制,能存储的最大数为{1}{1}{1}{1}{1}{1}{1}{1}也就是2^8-1,即255,二字节为2^16-1,即:65535,四字节:2^32-1,字节为2^64-1;
代码:
try{
char c=256;
}catch(Exceotion e){
System.out.println("char为1字节");
}
try{
char c=65536;
}catch(Exceotion e){
System.out.println("char为2字节");
}
/*下文略。。。*/