很多初学者(包括我,已经学了一年多java了)肯会对char和byte这两种数据类型有所疑惑,相互混淆,今天特地查了好多资料,对byte和char两种数据类型进行了总结和比较,先将结果与大家分享:
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
分享到:
相关推荐
重点讲述Java语言中容易混淆的char与byte的联系与区别
java_byte与char、String互转.................
TIA博途_S7-1200中将BYTE类型的数据转换成char类型的具体方法和注意事项
实现CString和char数组的相互转换,实现CString和BYTE数组(16进制)的相互转换
std::string、char*、const char*转托管byte数组或托管字符串String
int、char、double与byte相互转换
1、char[]与string之间的转换 //string 转换成 Char[] string str=hello; char[] arr=str.ToCharArray(); //Char[] 转换成 string string str1 = new string(arr); 2、byte[]与string之间的转化 string str = 你好...
delphi中String,PChar,PByte,Array of Char,Array of Byte 之间的互相转换
oracle中varchar2(byte)和varchar2(char) 细节决定成败,大家在设计数据库建表的时候一定要注意。
在C语言中,字符(character)这个术语具有两个层次上的含义:书写源程序的字符和程序处理的字符
char short int long float double 转换成byte数组
发送数据时,只能发送byte数组,处理起来比较麻烦不说,如果是和c++等写的程序通信的话,很多的都是传送结构体,在VC6.0中可以很方便的把一个char[]数组转换为一个结构体,而在C#却不能直接把byte数组转换为结构体,...
golang调用c++DLL返回值为char*参数为const char*,读取返回DLL返回值,传递char*型参数
(转)java byte与char、String互转原理.pdf
VC (CString,char,int,long,string,byte...)名种类形间的转换
* char: 字符类型 占2个字节 16位二进制 byte[0] byte[1] * int : 整数类型 占4个字节 32位二进制 byte[0] byte[1] byte[2] byte[3] * long: 长整数类型 占8个字节 64位二进制 byte[0] byte[1] byte[2] ...
ip地址转4字节byte,char转2字节byte,byte数组转char,int整数转换为4字节的byte数组,byte数组转换为int整数,double类型转8字节数组,8位数组转double,long整数转换为8字节的byte数组,short整数转换为2字节的...