char与byte的差别
char 差别 byte
2023-09-14 09:08:14 时间
非常多刚開始学习的人(包含我,已经学了一年多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
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
相关文章
- [Android Pro] sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区别
- Qt-char*与QString互转 floatToqstring char*与QString互转 qt字符串与字符串数组操作 Qt 的QString类的使用
- java - char转数字
- Qt QString 、String、char* 三者之间相互转换
- 习题 6.17 写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为int strcmp(char *p1, char *p2);
- C语言char s[] 和 char *s的差别
- C/C++中各种类型int、long、double、char表示范围(最大最小值)
- C/C++中各种类型int、long、double、char表示范围(最大最小值)
- C 语言中 char[] 的操作函数
- OneExerciseOne创建一个类,它包含一个int域,一个char域,他们都没有初始化,验证Java执行了默认初始化
- C++文件加密篇(基于char数组进行可逆加密)
- gdb 调试 hello word char *详细指针
- jstring转换到C语言所用的char