char和byte这两种数据类型容易相互混淆,他们的区别主要如下:
1、数据类型不同
byte 是字节数据类型 ,是有符号型的,可以表示-128—127 的数;
char 是字符数据类型 ,是无符号型的,可以表示一个整数,不能表示负数。
用法举例:
char i = 85;//U对应ASCII是85
byte d3 = 127; // 如果是byte d3 = 128;会报错
byte d4 = -128; // 如果是byte d4 = -129;会报错
2、占用空间大小和大小范围不同
byte占1 个字节;大小范围为-128—127 ;
char占2字节(Unicode码 );大小范围 是0—65535 ;char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符 。
3、另外char可以表示中文字符,byte不可以。用法举例:
char e1 = '中', e2 = '国';
byte f= (byte) '中'; //必须强制转换否则报错
参考资料:百度百科-char
参考资料:百度百科-byte