快捷搜索: 王者荣耀 脱发

Java基础篇 char与byte的区别

byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 );大小范围 是0—65535 ;char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符 。

下面用实例来比较一下二者的区别:

1、Char是无符号型的,可以表示一个整数,不能表示负数;而byte是有符号型的,可以表示-128—127 的数;如:

char c = (char) -3; // char不能识别负数,必须强制转换否则报错,即使强制转换之后,也无法识别
System.out.println(c);
byte d1 = 1;
byte d2 = -1;
byte d3 = 127; // 如果是byte d3 = 128;会报错
byte d4 = -128; // 如果是byte d4 = -129;会报错
System.out.println(d1);
System.out.println(d2);
System.out.println(d3);
System.out.println(d4);

结果为:

? 1 -1 127 -128

2、char可以表中文字符,byte不可以,如:

char e1 = 中, e2 = 国;
byte f= (byte) 中;    //必须强制转换否则报错
System.out.println(e1);
System.out.println(e2);
System.out.println(f);

结果为:

中 国 45

3、char、byte、int对于英文字符,可以相互转化,如:

byte g = b;    //b对应ASCII是98
char h = (char) g;
char i = 85;    //U对应ASCII是85
int j = h;    //h对应ASCII是104
System.out.println(g);
System.out.println(h);
System.out.println(i);
System.out.println(j);

结果为: 98 b U 104

经验分享 程序员 微信小程序 职场和发展