byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 );大小范围 是0—65535 ;char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符 。
下面直接上实例:
1、Char是无符号型的,可以表示一个整数,不能表示负数;而byte是有符号型的,可以表示-128—127 的数;
例:
- char c = (char) -2; // char不能识别负数,强制转换和不强制转换,都无法识别
- System.out.println(c);
- byte b1 = 1;
- byte b2 = -1;
- byte b3 = 127; // 如果是byte b3 = 128;会报错
- byte b4 = -128; // 如果是byte b4 = -129;会报错
- System.out.print(b1);
- System.out.print(b2);
- System.out.print(b3);
- System.out.print(b4);
打印结果: ? 1 -1 127 128
2、char可以表中文字符,byte不可以;
例:
- char c1 = '亲', c2 = '爱',c3='的'
- byte b= (byte) '亲'; //必须强制转换否则报错
- System.out.print(c1);
- System.out.print(c2);
- System.out.print(c3)
- System.out.print(b);
打印结果:亲 爱 的 ?
3、char、byte、int对于英文字符,可以相互转化;
例:
- byte a = 'a'; //b对应ASCII是97
- char h = (char) g;
- char i = 73; //I对应ASCII是73
- int j = 'j'; //j对应ASCII是106
- System.out.print(a);
- System.out.print(h);
- System.out.print(i);
- System.out.print(j);
打印结果:97 g I 106
今天就总结这些,如果那里有不足的地方,欢迎小伙伴们补充