char 是字符型
byte 是字节型(0 - 255)
在参与算术运算是char类型会自动转为整型;如字符A会转为对应ASCII码65.
char是用来表示一个字符,而不是一个字,因为一个字要占用两个字节。而存储一个ANSI字符只需一个字节。注意,强调是ANSI字符,而不是Unicode字符。因为Unicode要占用两个字节。
byte类型是最自由的一种。它就占用一个字节,但没有定义这个字节拿来干什么。char定义为一个Unsigned Byte类型。也就是无符号的一个字节。它将一个字节的8位全占用了。可以表示的数据范围是0到255之间。
如果你确定处理的字符串是标准的ANSI字符串,那不必转换也可以直接一个字节一个字节地处理。如果要处理的字符串不定或是统一的Unicode字符串则要进行转换后进行处理。
byte是字节数据类型,是有符号型的,占1个字节;大小范围为-128-127;
1,
char c1=3;
char c=(char)-3;//char不能识别负数,因为char的范围在(0-65535)
//必须进行强制类型转换,但是转换后的结果也无法识别结果
System.out.println(c);
byte b1=1;
byte b2=-1;
byte b3=127;
byte b4=-128;
byte b5=(byte)129;
byte b6=(byte)-340;
结果是
2.char可以表示中文,byte不可以
char c1='中',c2='过';
byte b=(byte)'中';//必须进行强制转换
System.out.printn(c1+""+c2);//必须加空格